|

CONNESSIONE AL DATABASE: QUALE USARE?

Quando
si lavora con i database il primo passo da compiere
è quello di creare la connessione alla base dati.
Operazione che abbiamo ormai imparato a conoscere.
Normalmente
per connettersi ad un database si utilizza un codice
del tipo:
|
Dim
Conn
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver
(*.mdb)};dbq=" & server.mappath("database/file.mdb")
|
Una
volta creata la connessione al database occorre prelevare
i dati che ci interessano: effettuiamo quindi una query
di selezione sul database stesso. Di solito scriviamo:
|
rs.Open
"select * from tabella where.....",
conn
|
In
realtà quelli citati non sono gli unici metodi:
ne esistono altri. Per esempio: anzichè specificare
ogni volta la query di selezione, è possibile
includerla all'interno del database stesso. In questo
caso possiamo parlare, anche se impropriamente, di stored
procedure.
Le
stored procedure sono infatti delle istruzioni SQL incorporate
direttamente nel database: anziché scrivere ogni
volta select * from... posso inserire questa
stringa direttamente nel database, assegnandole un nome.
Quando voglio interrogare il database dovrò semplicemente
richiamare quell'istruzione; ovvero
|
rs.Open
"nome_procedura", conn
|
Il
risultato non cambia.
Per
quanto riguarda invece la connessione al database esistono
quattro metodi diversi:
-
percorso fisico: è specificata la posizione
del database, ovvero il suo path, comprensivo di lettera
dell'unità. Si avrà qualcosa del tipo:
|
conn.Open
"driver={Microsoft Access Driver (*.mdb)};"
& "dbq=c:\inetpub\wwwroot\prova\database\file.mdb"
|
-
mappath (o dsn - less): quando non si
conosce il percorso fisico del database si può
utilizzare il mappath. Il vantaggio di questo metodo
è legato al fatto che se il mio sito viene spostato
in un'altra cartella, unità o addirittura su
un altro server, non ho bisogno di modificare nulla
nel mio codice. Infatti la mia pagina fa riferimento
ad una cartella chiamata database. Che poi questa si
trovi in c:\inetpub.... piuttostoc he in f:\user...
a me non interessa.
Il codice da utilizzare diventa:
|
conn.Open
"DRIVER={Microsoft Access Driver (*.mdb)};DBQ="
& server.MapPath("database/file.mdb.mdb")
|
-
OLEDB: è un altro metodo di connessione
utilizzato per accedere ai database. La stringa di connessione
utilizzata è:
|
Dim
Conn
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider = Microsoft.Jet.OLEDB.4.0;
Data Source = c:\inetpub\wwwroot\prova\database\file.mdb"
|
-
dsn: finora per connettersi al database abbiamo
dovuto specificare o il percorso completo (c:\inetpub...)
o almeno la cartella e il nome del file.
Mediante il dsn invece tutto questo non è più
necessario: è sufficiente dichiarare il nome
del dsn e la connessione è pronta.
Naturalmente il dsn deve essere stato precedentemente
attivato sul server che ospita il nostro sito: operazione
di pochi secondi che però può essere svolta
solo dal provider. Non tutti i provider sono disponibili
ad attivare tali dsn: spesso consentono di attivarne
uno o due.
Questo fa sì che normalmente si utilzzino altri
metodi di connessione, anche per evitare di attendere
i tempi ri risposta del provider stesso.
Ecco come connettersi ad un database
|