Guide

Connessione al database Microsoft Access

Esempi nei linguaggi ASP e PHP

Il database MS Access è disponibile su tutti i piani hosting Windows. Di seguito sono riportati esempi di connessione al database MS Access nei linguaggi ASP (VBscript) e PHP

Per utilizzare un database MS Access con un'applicazione o sito web, è necessario che il database e la cartella in cui si trova abbiano i permessi di scrittura, anche nel caso in cui l'applicazione lo utilizzasse in sola lettura. Le librerie Microsoft che gestiscono l'accesso al database creano, infatti, dei file temporanei (*.ldb) nella stessa cartella del database (*.mdb) e, qualora non vi fossero i permessi di scrittura, il server web IIS restituirebbe un errore 500.

È sconsigliabile collocare il database MS Access nella cartella principale (root) perché, in base a quanto detto sopra, equivarrebbe ad applicare permessi di scrittura alla root del sito, operazione estremamente rischiosa in termini di sicurezza.

MS Access è un database di facile gestione: è di facile creazione ed è facile farne un backup (per esempio, scaricandolo via FTP sul PC locale), ma il suo utilizzo è limitato dalla dimensione e dal numero di transazioni. Inoltre, ha un limite intrinseco sul numero di connessioni che può attivare contemporaneamente e sulle prestazioni.

Connessione dsn-less con ASP

Indicata col simbolo "/" la cartella principale del sito (root) e supponendo che il database si chiami esempio.mdb, collocato nella cartella /database/ del sito, un esempio di connessione e lettura di una tabella, potrebbe essere il seguente:

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & _ server.MapPath("/database/esempio.mdb") sql = "SELECT * FROM Tabella1" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn %>

Connessione dsn-less con PHP

Grazie alla classe COM di php, è possibile connettersi ad un database MS Access tramite la libreria ADODB.

Nell'esempio, scaricabile qui, si suppone che sia presente un database di test, test.mdb, nel percorso /testdb/, sottocartella rispetto alla posizione dello script adodb.php incluso nel file .zip.

Posizionamento dello script di connessione

Un aspetto importante da mettere in evidenza quando si necessita di connessione ad un database da un'applicazione web, è quello che riguarda il posizionamento dello script che apre la connessione e gestisce i recordset restituiti dalle interrogazioni: tale codice deve essere posizionato prima del tag e deve preoccuparsi, oltre che dell'estrazione dei dati, della distruzione degli oggetti recordset utilizzati e della connessione creata.

In questo modo, infatti, il server completerà l'estrazione dei dati (e la chiusura della connessione) prima di inviare la pagina al client, velocizzando il caricamento della pagina e quindi la navigazione. In particolare, si riduce anche il tempo intercorso fra l'apertura e la chiusura della connessione, minimizzando così la possibilità di troppe connessioni contemporanee al database, punto critico di MS Access.