Connessione DSN-less a database Access®

Molti provider di hosting (come ad esempio Aruba), pur fornendo il supporto alle pagine ASP e database Microsoft Access®, non danno la possibilità di connettersi a questi attraverso connessioni DSN (Data Source Name).
In questo caso dobbiamo effettuare una connessione DSN-less.

Supponendo che il database si trovi nella cartella “/mdb-database” del nostro dominio (questa è proprio la scelta di Aruba) e che il file si chiami “db.mdb”, il codice da includere nella nostra pagina .asp è il seguente:

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/db.mdb")
%>

La variabile conn sarà quindi disponibile per le varie Execute che dovremo fare. Ad esempio, per una SELECT useremo il seguente codice:

<%
Set rs = conn.Execute("SELECT * FROM <tabella> WHERE <condizione> ORDER BY <campo>")
%>

Nel recordset rs saranno disponibili tutti i record della <tabella> che soddisfano la <condizione>, ordinati per <campo>. Una volta utilizzati i record estratti, ad esempio in un ciclo:

<%
rs.MoveFirst
do until rs.EOF
    ' operazioni
    ' ...
    rs.MoveNext
loop
%>

Dopo aver effettuato le operazioni di select, insert, update e delete necessarie alla nostra applicazione bisogna ricordarsi di chiudere il recordset:

<%
rs.Close
Set rs = Nothing
%>

e la connessione al database:

<%
conn.Close
Set conn = Nothing
%>

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

41  +    =  45