- Learn
- Guida Ultradev
- Come connettersi a un database
Come connettersi a un database
Abbiamo già detto che quando si realizza un sito dinamico si opera quasi sempre su uno o più database. Prima di interagire con essi è necessario creare le opportune connessioni. In pratica, bisogna mettere in comunicazione l’applicazione web con la fonte dati attraverso quegli intermediari o interpreti che sono i driver dei database (vedi lezione 7). Per fare ciò si usano le cosiddette “stringhe di connessione“, ovvero istruzioni che contengono i dati necessari al collegamento. Tali dati sono in genere due: il driver (o provider) usato e il percorso relativo alla localizzazione del database.
La versione 4 di Ultradev rende più semplice tale operazione. Si accede al box di configurazione tramite il menu Modify, selezionando quindi la voce Connections. Ecco come si presenta la finestra da cui impostare i vari parametri (fig. 1):

In Ultradev (ma il discorso si può estendere a tutti i siti basati su ASP) si possono creare quattro tipi di connessione ai database. Esaminiamole.
Connessione basata su DSN
Abbiamo già visto in una precedente lezione cos’è un DSN (Data Source Name) e come si crea. Questa soluzione è la più semplice e intuitiva. Prevede innanzitutto la creazione in Windows di un nuovo DSN di sistema e quindi la realizzazione del collegamento in Ultradev. Scegliendo tale via, dopo aver cliccato su New nella finestra di configurazione (fig. 1) si seleziona “Data Source Name“. Quindi basta configurare la seconda finestra (fig. 2):

Si assegna innanzitutto un nome univoco alla connessione (Connection Name). Quindi si sceglie dal menu il DSN (il menu mostra tutti i DSN creati sul sistema). Se il database è protetto con User Name e Password si riempiono le caselle corrispondenti. Per finire spuntiamo l’opzione “Using Local DSN“. Un click su Test per verificare che tutto sia a posto.
Questo tipo di connessione è consigliabile solo se si ha la possibilità di un accesso diretto al server, dove si possono definire i DSN (quasi tutti i servizi di hosting non ne consentono la creazione). Va comunque bene per lo sviluppo in locale.
Connessione senza DSN basata su ODBC
Per stabilire connessioni secondo i tre metodi che andremo ora ad esaminare bisogna scegliere, dopo aver cliccato su New, l’opzione “Custom Connection String” (fig. 1). In tutti i casi la stringa si inserisce nella finestra rappresentata nella figura 3:

In una connessione senza DSN (dette altriementi “DSNless“) bisogna inserire nella stringa l’informazione sul driver o provider utilizzato seguita dal percorso del database sul disco o sul server. Nel caso del DSN, infatti, il percorso è settato all’origine e incorporato nello stesso.
Nelle connessioni basate su ODBC si sceglie come intermediario il driver corrispondente al database che utilizziamo. Analizziamo la più classica stringa di connessione, quella per Microsoft Access:
Driver={Microsoft Access Driver (*.mdb)};Dbq=c:datinome.mdb;
La prima parte fa riferimento al driver ODBC; la seconda (a partire da DBQ) fa riferimento al percorso. In questo caso stiamo effettuando la connessione al database “nome.mdb” situato nella directory “c:dati“.
Nella finestra mostrata in figura 3, quindi, si assegna un nome alla connessione e nella casella Connection String si digita la stringa. Per quanto riguarda gli ultimi due parametri, si possono scegliere, per questo metodo, entrambi senza problemi.
Per vostra comodità inseriamo alcuni modelli di stringhe che potete personalizzare secondo le vostre esigenze e inserire nelle vostre connessioni.
Microsoft Access
Driver={Microsoft Access Driver (*.mdb)};Dbq=c:datinomedb.mdb;
dBase
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:datinomedb.dbf;
SQL Server
Driver={SQL Server};Server=nomedelserver;Database=nomedeldatabase;
MySQL
driver={mysql}; database=nomedeldatabase;uid=username;pwd=password;option=16386;
Connessione senza DSN basata su OLE-DB
Le connessioni con OLE-DB hanno come vantaggio principale quello di migliorare la velocità di connessione ai dati. Nella stringa di connessione invece del driver viene invocato direttamente il provider dei dati (che cambia a seconda del database che utilizziamo). Anche per questo metodo forniamo una serie di stringhe personalizzabili.
Microsoft Access
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:datinomedb.mdb;
SQL Server
Provider=SQLOLEDB;Data Source=nomedelcomputer;Initial Catalog=nomedeldatabase;
Connessione senza DSN basata sul metodo ServerMapPath
Se volete pubblicare il sito su un server esterno, è questo il metodo migliore. La ragione è semplice. Come avete osservato, negli esempi precedenti si fa riferimento, nella definizione del percorso del database, al file system locale (C:percorsoecc…..). Al momento di pubblicare le pagine non è detto che questa informazione trovi una corrispondenza sul server! La soluzione arriva grazie al metodo MapPath del linguaggio ASP. Semplificando al massimo: questo metodo consente di definire percorsi dei database “virtuali” o logici che siano relativi alla struttura del sito sul web server. Un esempio per chiarire:
“Driver={Microsoft Access Driver (*.mdb)};Dbq=” & Server.Mappath(“tutorial/dati/utenti.mdb”)
Come potete osservare una stringa MapPath differisce da quelle “normali” solo per la presenza delle virgolette e nella sezione del percorso (dopo Dbq). Nell’esempio si fa riferimento ad un database (utenti.mdb) situato nella cartella dati, all’interno della directory radice (directory virtuale) del sito chiamata tutorial. Potete osservare che rispetto alle stringhe già viste troviamo nella definizione del percorso la classica slash / utilizzata negli indirizzi internet, e non la backslash utilizzata per i percorsi fisici o locali! Questo perché il percorso stesso fa riferimento alla struttura del web server e non del disco locale. Capite dunque quanto questo metodo possa risultare utile.
Nella configurazione della connessione in Ultradev, quando si usa questo metodo, è obbligatorio usare come driver di connessione quelli del server. Dunque, nella finestra (figura 3) bisogna spuntare l’opzione “Using Driver on Application Server“.
Se vuoi aggiornamenti su Come connettersi a un database inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
Google Chrome: sincronizzazione delle schede aperte
Tra le funzionalità più interessanti offerte da Chrome c’è la sincronizzazione delle schede su più dispositivi. Basta effettuare il login […]