Creazione di un'applicazione driver ODBC di SQL Server Native Client
L'architettura ODBC include quattro componenti che eseguono le funzioni seguenti.
Componente | Funzione |
---|---|
Applicazione | Chiama funzioni ODBC per comunicare con un'origine dati ODBC, invia istruzioni SQL ed elabora set di risultati. |
Gestione driver | Gestisce la comunicazione tra un'applicazione e tutti i driver ODBC utilizzati dall'applicazione. |
Driver | Elabora tutte le chiamate di funzioni ODBC dall'applicazione, si connette a un'origine dati, passa istruzioni SQL dall'applicazione all'origine dati e restituisce risultati all'applicazione. Se necessario, il driver converte dati ODBC SQL dall'applicazione al formato SQL nativo utilizzato dall'origine dati. |
Origine dati | Contiene tutte le informazioni di cui necessita un driver per accedere a un'istanza specifica di dati in un DBMS. |
Un'applicazione che usa il driver ODBC SQL Server Native Client per comunicare con un'istanza di SQL Server esegue le attività seguenti:
Si connette a un'origine dati
Invia istruzioni SQL all'origine dati
Elabora i risultati delle istruzioni dall'origine dati
Elabora errori e messaggi
Termina la connessione all'origine dati
Un'applicazione più complessa scritta per il driver ODBC SQL Server Native Client potrebbe anche eseguire le attività seguenti:
Utilizzare cursori per controllare la posizione in un set di risultati
Richiedere operazioni di commit o rollback per il controllo delle transazioni
Eseguire transazioni distribuite che interessano due o più server
Eseguire stored procedure nel server remoto
Chiamare funzioni di catalogo per richiedere informazioni sugli attributi di un set di risultati
Eseguire operazioni di copia bulk
Gestire dati di grandi dimensioni (operazioni varchar(max), nvarchar(max)e varbinary(max)
Utilizzare logica di riconnessione per semplificare il failover quando è configurato il mirroring del database
Registrare dati relativi alle prestazioni e query con esecuzione prolungata
Per eseguire chiamate di funzioni ODBC, un'applicazione C o C++ deve includere i file di intestazione sql.h, sqlext.h e sqltypes.h. Per eseguire chiamate alle funzioni API del programma di installazione ODBC, un'applicazione deve includere il file di intestazione odbcinst.h. Un'applicazione ODBC Unicode deve includere il file di intestazione sqlucode.h. Le applicazioni ODBC devono essere collegate con il file odbc32.lib. Le applicazioni ODBC che chiamano funzioni API del programma di installazione ODBC devono essere collegate con il file odbccp32.lib. Tali file sono inclusi in Windows Platform SDK.
Molti driver ODBC, inclusi il driver ODBC SQL Server Native Client, offrono estensioni ODBC specifiche del driver. Per sfruttare SQL Server Native Client estensioni specifiche del driver ODBC, un'applicazione deve includere il file di intestazione sqlncli.h. Questo file di intestazione contiene gli elementi seguenti:
SQL Server Native Client attributi di connessione specifici del driver ODBC.
SQL Server Native Client attributi di istruzione specifici del driver ODBC.
SQL Server Native Client attributi di colonna specifici del driver ODBC.
SQL Server tipi di dati specifici.
SQL Server tipi di dati specifici definiti dall'utente.
SQL Server Native Client tipi SQLGetInfo specifici del driver ODBC.
SQL Server Native Client campi di diagnostica del driver ODBC.
SQL Server codici di funzione dinamica di diagnostica specifici.
Definizioni di tipi C/C++ per tipi di dati C nativi specifici SQL Server (restituiti quando le colonne associate al tipo di dati C SQL_C_BINARY).
Definizione del tipo per la struttura di dati SQLPERF.
Macro e prototipi di copia bulk per supportare l'utilizzo di API per la copia bulk tramite una connessione ODBC.
Chiamata delle funzioni API dei metadati delle query distribuite per ottenere elenchi di server collegati e dei relativi cataloghi.
Qualsiasi applicazione ODBC C o C++ che usa la funzionalità di copia bulk del driver ODBC SQL Server Native Client deve essere collegata al file sqlncli11.lib. Le applicazioni che chiamano le funzioni API dei metadati delle query distribuite devono anch'esse essere collegate con sqlncli11.lib. I file sqlncli.h e sqlncli11.lib vengono distribuiti come parte degli strumenti dello sviluppatore di SQL Server. Le SQL Server directory Include e Lib devono trovarsi nei percorsi INCLUDE e LIB del compilatore, come illustrato di seguito:
LIB=c:\Program Files\Microsoft Data Access SDK 2.8\Libs\x86\lib;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Lib;
INCLUDE=c:\Program Files\Microsoft Data Access SDK 2.8\inc;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Include;
Una decisione di progettazione da adottare nelle fasi iniziali del processo di compilazione di un'applicazione consiste nello stabilire se l'applicazione debba supportare più chiamate ODBC in sospeso simultaneamente. Per supportare più chiamate ODBC simultanee, sono disponibili due metodi, descritti più avanti in questa sezione. Per altre informazioni, vedere le informazioni di riferimento per programmatori ODBC.