Creazione di un'applicazione driver

Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics PlatformSystem (PDW)

Importante

SQL Server Native Client (spesso abbreviato SNAC) è stato rimosso da SQL Server 2022 (16.x) e SQL Server Management Studio 19 (SSMS). SQL Server Native Client (SQLNCLI o SQLNCLI11) e il provider Microsoft OLE DB legacy per SQL Server (SQLOLEDB) non sono consigliati per lo sviluppo di nuove applicazioni. Passare al nuovo Microsoft OLE DB Driver (MSOLEDBSQL) per SQL Server o alla versione più recente di Microsoft ODBC Driver per SQL Server . Per SQLNCLI fornito come componente del motore di database di SQL Server (versioni da 2012 a 2019), vedere questa eccezione relativa al ciclo di vita del supporto.

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 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

Un'applicazione più complessa scritta per il driver ODBC di SQL Server Native Client può eseguire 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 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, incluso il driver ODBC di SQL Server Native Client, offrono estensioni ODBC specifiche del driver. Per sfruttare i vantaggi delle 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 Server Native Client.

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

  • Codici funzione dinamici di diagnostica specifici di SQL Server.

  • Definizioni dei tipi C/C++ per i tipi di dati C nativi specifici di 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 di 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 di sviluppo di SQL Server. Le directory include e lib di SQL Server 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.

In questa sezione

Vedi anche

SQL Server Native Client (ODBC)