Open Database Connectivity (ODBC) Open Database Connectivity (ODBC), proposto dalla Microsoft nel 1991, fornisce un interfaccia applicativa standard che permette ad una generica applicazione di accedere a diverse sorgenti di dati (data source) di tipo relazionale, eterogenee (cioè sviluppate con DBMS differenti). Tramite un interfaccia ODBC, le chiamate SQL presenti nell applicazione possono accedere ad una sorgente relazionale remota. Il linguaggio supportato da ODBC è una restrizione dell SQL, definito per la prima volta nel 1991 nell ambito dell SQL Access Group (SAG) da un gruppo di circa 50 grandi utenti di DBMS. L architettura ODBC prevede il collegamento tra un applicazione e il server che gestisce i dati attraverso un database driver, una libreria dinamica che un applicazione può richiamare per accedere ad una particolare sorgente. In questo modo un applicazione può accedere a ciascuna sorgente per la quale è disponibile il driver ODBC. Il driver maschera anche le differenze di interazione relative al sistema operativo ed al protocollo di rete utilizzato, facilitando la portabilità delle applicazioni. Nell insegnamento di SISTEMI INFORMATIVI AVANZATI le connessioni ODBC verranno utilizzate quasi esclusivamente per connettere l applicazione Analysis Manager dell Analysis Services al database da analizzare. Anche lo strumento Wand per la progettazione di Datawarehouse utilizza le connessioni ODBC per estrarre lo schema relazionale per il quale si deve effettuare la progettazione concettuale degli schemi di fatto.
Architettura ODBC L accesso ad un database (remoto) tramite ODBC richiede la cooperazione di 4 componenti: L Applicazione richiama le funzioni SQL per esequire query ed acquisire i risultati. E trasparente rispetto al protocollo di rete, al sistema operativo ed al server DBMS utilizzati, poiché mascherati dal driver. Il Driver Manager è responsabile di caricare i driver richiesti dall applicazione. Viene fornito da Microsoft e garantisce la gestione della corrispondenza tra i nomi e l inizializzazione dei processi coinvolti. I driver sono responsabili di eseguire le funzioni ODBC, eseguendo le query SQL traducendole nella sintassi (e semantica) del proprio server di accesso. I driver sono anche responsabili della restituzione dei risultati alle applicazioni tramite meccanismi di buffer. La fonte dei dati (Data Source Name) rappresenta il database con il quale si vuole comunicare. I driver inviano le chiamate (opportunamente tradotto) al Data Source che le esegue sul server DBMS.
Creare una fonte dati ODBC utilizzando ODBC Manager Per connettersi ad una fonte dati ODBC occorre: Che i Driver ODBC siano installati sul sistema Che sia presente una fonte dati ODBC opportunamente configurata. Entrambe le funzioni possono essere configurate utilizzando l'applicazione ODBC Manager (una fonte dati puo' essere anche creata da VB -vedere Area Database-). Un Driver ODBC viene utilizzato per connettersi da uno specifico tipo di database. Una fonte dati ODBC consiste nella configurazione di uno specifico Driver ODBC usato per connettersi al database prescelto. Accedere alla Dialog Box dell'odbc Manager Per configurare una fonte dati bisogna quindi l'odbc Data Source Administrator, che si trova nel Pannello di Controllo di Windows:
Quando l'odbc Manager viene lanciato, appare la Dialog Box 'Amministrazione fonte dati ODBC'. Le prime tre tabs, riguardano la creazione dei DSN, ovvero dei Data Source Name (Nome della fonte dati). Il DSN, e' la chiave che il proprio programma utilizza per connettersi ad una fonte dati ODBC. Le fonti dati ODBC sono divise in 3 categorie: utente,sistema,file. DSN di sistema: e' utilizzabile sia in WinNT che in Win95, e non e' associato con un particolare profilo utente. DSN su file: Una fonte dati su file, memorizza le informazioni in un file di testo. Il file di testo non e' altro che un file INI contenete le informazioni sul Driver del Database, della sua posizione e configurazione. DSN utente: Le informazione della fonte dati, sono memorizzate nel registry della macchina locale. In WinNT, ogni DSN utente, e' memorizzato insieme ad uno specifico profilo utente, ed e' invisibile al di fuori dello stesso.
Le restanti tabs contengono altri strumenti generali di gestione e debugging. Selezionando la tab 'Driver ODBC', viene mostrata la lista dei Driver ODBC installati sulla macchina.
Creare una fonte dati ODBC Per creare una fonte dati ODBC da utilizzare nel proprio programma, bisogna scegliere il tipo di Driver da utilizzare e configurarlo. Ad esempio occorre fornire il nome del database Server SQL o del file MDB di Access dai quali prelevare i dati. Per identificare una fonte dati, e' necessario utilizzare una chiave unica. Procediamo alla creazione di una fonte dati: 1. Selezionare DSN utente, e cliccare sul pulsante Aggiungi 2. Viene visualizzata la Dialog Box Crea nuova fonte dati 3. Selezionare il Driver ODBC da utilizzare (in questo caso Microsoft Access) e premere il pulsante Fine; viene mostrata la Dialog Box di configurazione Data source.
In questa Dialog Box, configureremo il Driver ODBC. Nella textbox Nome fonte dati (a), inseriamo un nome per la nuova fonte dati (in questo caso 'MioDatabase'). Nella textbox Descrizione (b) possiamo inserire una breve descrizione della fonte dati. Tramite il pulsante Seleziona, possiamo quindi scegliere il file del database (o, nel caso di un Server SQL, il Server a cui connettersi), che verra' poi visualizzato nella label (c). (Bisogna ricordare che ogni Driver ODBC ha una sua Dialog Box di configurazione e in questo caso e' stato utilizzato il Driver ODBC Microsoft Access 97). Al termine premere il pulsante OK.
La configurazione del Driver ODBC e' quindi terminata e la fonte dati MioDatabase e' ora visibile nella lista dei DSN utente.