Visual Basic Simple
L'ODBC
Sincronizza Indice
Sincronizza Indice
Scarica il progetto
Scarica il progetto
Scarica il testo dell'articolo
Testo dell'articolo
Stampa l'articolo
Stampa l'articolo
Ricerca personalizzata

Difficoltà: 2 / 5

L'interfaccia dati più utilizzata in ambiente Windows è ODBC (Open DataBase Connectivity) e la maggior parte dei database consentono di stabilire una connessione mediante questo protocollo di interfacciamento. ODBC stabilisce una serie di regole di chiamata e di manipolazione dati, mediante linguaggio SQL e si compone fondamentalmente di quattro livelli, come mostrato nella Figura 1.

Figura 1
Figura 1

L'Applicazione è il progetto finale che deve far uso delle fonti dati, inviando una o più richieste e ricevendo le risposte sotto forma di dati o di messaggi.

Il Gestore Driver (Driver Manager) è l'interfaccia ODBC vera e propria; consiste in una serie di librerie che esportano numerose funzioni utilizzabili dall'Applicazione per svolgere numerose operazioni. Il gestore consente di richiamare in maniera dinamica le librerie interessate per accedere alla fonte dati.

Ognuna di queste librerie prende il nome di Driver ed effettua l'accesso diretto o indiretto alla fonte dati, invia le richieste ricevute dal Gestore Driver, recupera i dati e li restituisce all'applicazione. Il ruolo del Driver è il più importante nell'intero insieme: ogni driver deve infatti connettersi o disconnettersi dalla fonte dati, ricevere le richieste dal gestore, nel formato ODBC, convertirle secondo le specifiche della propria fonte dati, inviarle e riceverne i risultati in risposta. I Driver a loro volta possono essere di due tipologie:

  1. Basati su File (File-based)
    Effettuano l'accesso fisico alla fonte dati, maneggiano i dati al fine di eseguire le operazioni e restituiscono i risultati all'applicazione. Richiedono quindi un accesso diretto alla posizione dei dati.
    In un'architettura di rete il driver legge, trasporta, manipola e scrive tutti i dati interessati; le richieste inviate dal gestore rimangono presso il computer dell'applicazione.

  2. Basati su DBMS (DBMS-based)
    Non effettuano l'accesso fisico alla fonte dati ma si connettono invece al DBMS che contiene i dati, inviano le richieste ed attendono in risposta dati e messaggi. Dall'altro capo del sistema ci sarà un driver ODBC File-based che si occuperà di eseguire le operazioni necessarie.
    In un'architettura di rete il driver riceve le istruzioni e le inoltra al DBMS ed al ritorno riceve i dati ed i messaggi da restituire all'applicazione. Il traffico di dati da trasportare in rete è quindi molto minore e si limita alle istruzioni da inviare al DBMS ed ai dati ricevuti in risposta dal DBMS.

La Fonte Dati - detta anche Origine Dati - indica generalmente il database o il DBMS che contiene i dati richiesti dall'applicazione ma in questo contesto indica semplicemente un riferimento al database in questione. Tale riferimento può essere basato su DSN (Data Source Name) oppure su una stringa di connessione con tutti i parametri per stabilire l'accesso alla fonte dati.


I DSN sono creati mediante il Pannello di Amministrazione delle Origini Dati ODBC, contraddistinto da una delle due icone mostrate a fianco, accessibile tramite Pannello di Controllo (oppure tramite gli Strumenti di Amministrazione di Windows NT) e sono di tre tipologie:

  1. DSN utente (User DSN)
    Accessibili soltanto all'utente corrente del sistema.

  2. DSN di Sistema (System DSN)
    Accessibili a tutti gli utenti del sistema.

  3. DSN su File (File DSN)
    Utilizzabili da chiunque abbia accesso al file che contiene il DSN. Possono anche essere condivisi con più computer ma non tutti i Driver supportano la creazione di DSN su file, che prendono l'estensione .DSN.

Per creare un nuovo DSN nel sistema si raccomanda la consultazione dell'articolo sulla Configurazione di un DSN per connessioni a database.
Il DSN può essere creato anche mediante un codice Visual Basic e si raccomanda la consultazione dell'articolo dedicato alla Creazione di un DSN via codice o con una Wizard.
La connessione effettuata senza l'utilizzo di un DSN è detta DSN-less.


Indipendentemente dal modello dati, dalla fonte dati e dal driver impiegato, per stabilire una connessione tra l'applicazione e l'interfaccia ODBC è necessario fornire una stringa di connessione. Se la connessione fa uso di un DSN utente o di sistema, la stringa può limitarsi al solo nome DSN; nel caso di un DSN su file dovrà contenere il percorso completo del file; infine, in caso di una connessione DSN-less la stringa dovrà contenere l'insieme minimo di parametri per stabilire la connessione, primo fra cui il nome del driver da utilizzare. L'elenco dei Driver ODBC installati nel sistema può essere recuperato dal Pannello di Amministazione delle Origini Dati ODBC, cliccando sulla scheda Drivers.

Figura 2
Figura 2

Il numero di argomenti, il nome ed il valore di ciascuno d'essi dipende soltanto dal driver utilizzato e non esiste una regola generale o una tabella con tutti i valori necessari per stabilire una connessione ODBC.

L'unico parametro obbligatorio è il nome del driver da utilizzare e da cui dipendono e saranno interpretati tutti gli altri argomenti della stringa di connessione. Inoltre, la maggior parte dei RDBMS richiede la specificazione di un nome utente (UserID oppure UID) e della relativa password associata.

Nei capitoli successivi di questa sezione vedremo come effettuare una connessione ODBC basata su DSN o DSN-less, sia con l'utilizzo del modello DAO che di ADO.

Fibia FBI
3 Dicembre 2002

Scarica il progetto
Scarica il progetto
Scarica il testo dell'articolo
Scarica il testo dell'articolo
Stampa l'articolo
Stampa l'articolo
Torna all'indice della sezione Database