Condividi tramite


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 utilizza il driver ODBC di 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

È possibile che un'applicazione più complessa scritta per il driver ODBC di SQL Server Native Client esegua anche 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 operazioni su dati di grandi dimensioni (colonne 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, incluso il driver ODBC di SQL Server Native Client, offrono estensioni ODBC specifiche del driver. Per utilizzare in modo ottimale le estensioni specifiche del driver ODBC di SQL Server Native Client, un'applicazione deve includere il file di intestazione sqlncli.h. Questo file di intestazione contiene gli elementi seguenti:

  • Attributi di connessione specifici del driver ODBC di SQL Server Native Client.

  • Attributi di istruzione specifici del driver ODBC di SQL Server Native Client.

  • Attributi di colonna specifici del driver ODBC di SQL Server Native Client.

  • Tipi di dati specifici di SQL Server.

  • Tipi di dati definiti dall'utente specifici di SQL Server.

  • Tipi SQLGetInfo specifici del driver ODBC di SQL ServerNative Client.

  • Campi di diagnostica del driver ODBC di SQL Server Native Client.

  • Codici di funzioni dinamiche di diagnostica specifiche di SQL Server.

  • Definizioni di tipi C/C++ per tipi di dati C nativi specifici di SQL Server (restituite quando le colonne sono 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 utilizza la funzionalità di copia bulk del driver ODBC di SQL Server Native Client deve essere collegata con il file sqlncli10.lib. Le applicazioni che chiamano le funzioni API dei metadati delle query distribuite devono anch'esse essere collegate con sqlncli10.lib. I file sqlncli.h e sqlncli10.lib vengono distribuiti come parte degli strumenti di sviluppo di SQL Server. Le directory Include e Lib di SQL Server devono essere incluse 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 ulteriori informazioni, vedere ODBC Programmer's Reference.