Uso dei file di intestazione e di libreria di SQL Server Native Client
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)
Importante
SQL Server Native Client (SNAC) non viene fornito con:
- SQL Server 2022 (16.x) e versioni successive
- SQL Server Management Studio 19 e versioni successive
SQL Server Native Client (SQLNCLI o SQLNCLI11) e il provider OLE DB Microsoft legacy per SQL Server (SQLOLEDB) non sono consigliati per lo sviluppo di nuove applicazioni.
Per i nuovi progetti, usare uno dei driver seguenti:
Per SQLNCLI fornito come componente del motore di database di SQL Server (versioni dal 2012 al 2019), vedere questa Eccezione relativa al ciclo di vita del supporto.
I file di intestazione e libreria di SQL Server Native Client vengono installati con SQL Server. Quando si sviluppa un'applicazione, è importante copiare e installare nell'ambiente di sviluppo tutti i file necessari per lo sviluppo. Per altre informazioni sull'installazione e la ridistribuzione di SQL Server Native Client, vedere Installazione di SQL Server Native Client.
I file di intestazione e libreria di SQL Server Native Client vengono installati nel percorso seguente:
%PROGRAMMI%\Microsoft SQL Server\110\SDK
Il file di intestazione sql Server Native Client (sqlncli.h) può essere usato per aggiungere funzionalità di accesso ai dati di SQL Server Native Client alle applicazioni personalizzate. Il file di intestazione sql Server Native Client contiene tutte le definizioni, gli attributi, le proprietà e le interfacce necessarie per sfruttare le nuove funzionalità introdotte in SQL Server 2005 (9.x).
Oltre al file di intestazione sql Server Native Client, è disponibile anche un file di libreria sqlncli11.lib che è la libreria di esportazione per la funzionalità BCP (Bulk Copy Program) di SQL Server per ODBC.
Il file di intestazione SQL Server Native Client è compatibile con le versioni precedenti dei file di intestazione sqloledb.h e odbcss.h usati con Microsoft Data Access Components (MDAC), ma non contiene CLSID per SQLOLEDB (il provider OLE DB per SQL Server incluso con MDAC) o simboli per la funzionalità XML (non supportata da SQL Server Native Client).
Le applicazioni ODBC non possono fare riferimento all'intestazione SQL Server Native Client (sqlncli.h) e odbcss.h nello stesso programma. Anche se non si usa alcuna delle funzionalità introdotte in SQL Server 2005 (9.x), il file di intestazione sql Server Native Client funzionerà al posto di odbcss.h meno recente.
Le applicazioni OLE DB che usano il provider OLE DB di SQL Server Native Client devono fare riferimento solo a sqlncli.h. Se un'applicazione usa sia MDAC (SQLOLEDB) che il provider OLE DB di SQL Server Native Client, può fare riferimento sia a sqloledb.h che a sqlncli.h, ma il riferimento a sqloledb.h deve essere prima.
Utilizzo del file di intestazione di SQL Server Native Client
Per usare il file di intestazione di SQL Server Native Client, è necessario usare un'istruzione di inclusione all'interno del codice di programmazione C/C++. Nelle sezioni seguenti viene descritto come eseguire questa operazione sia per le applicazioni OLE DB sia per le applicazioni ODBC.
Nota
I file di intestazione e libreria di SQL Server Native Client possono essere compilati solo con Visual Studio C++ 2002 o versione successiva.
OLE DB
Per usare il file di intestazione SQL Server Native Client in un'applicazione OLE DB, usando le righe di codice di programmazione seguenti:
#define _SQLNCLI_OLEDB_
include "sqlncli.h";
Nota
La prima riga di codice sopra mostrata deve essere omessa se nell'applicazione vengono utilizzate API sia OLE DB che ODBC. Inoltre, se l'applicazione ha un'istruzione include per sqloledb.h, l'istruzione include per sqlncli.h deve essere successiva.
Quando si crea una connessione a un'origine dati tramite SQL Server Native Client, usare "SQLNCLI11" come stringa del nome del provider.
ODBC
Per usare il file di intestazione di SQL Server Native Client in un'applicazione ODBC, utilizzando le righe di codice di programmazione seguenti:
#define _SQLNCLI_ODBC_
include "sqlncli.h";
Nota
La prima riga di codice sopra mostrata deve essere omessa se nell'applicazione vengono utilizzate sia le API OLE DB che ODBC. Se inoltre nell'applicazione è presente un'istruzione #include
per odbcss.h, deve essere rimossa.
Quando si crea una connessione a un'origine dati tramite SQL Server Native Client, usare "SQL Server Native Client 11.0" come stringa del nome del driver.
Proprietà e nomi dei componenti per versione
Proprietà | SQL Server Native Client SQL Server 2005 |
SQL Server Native Client 10.0 SQL Server 2008 |
SQL Server Native Client 11.0 SQL Server 2012 (11.x) |
MDAC |
---|---|---|---|---|
Nome driver ODBC | SQL Native Client | SQL Server Native Client 10.0 | SQL Server Native Client 11.0 | SQL Server |
Nome file di intestazione ODBC | Sqlncli.h | Sqlncli.h | Sqlncli.h | Odbcss.h |
DLL del driver ODBC | Sqlncli.dll | Sqlncl10.dll | Sqlncl11.dll | sqlsrv32.dll |
File di libreria ODBC per le API BCP | Sqlncli.lib | Sqlncli10.lib | Sqlncli11.lib | Odbcbcp.lib |
DLL ODBC per le API BCP | Sqlncli.dll | Sqlncli10.dll | Sqlncli11.dll | Odbcbcp.dll |
OLE DB PROGID | SQLNCLI | SQLNCLI10 | SQLNCLI11 | SQLOLEDB |
Nome file di intestazione OLE DB | Sqlncli.h | Sqlncli.h | Sqlncli.h | Sqloledb.h |
DLL del provider OLE DB | Sqlncli.dll | Sqlncli10.dll | Sqlncli11.dll | Sqloledb.dll |
sqlncli.h supporta più versioni di SQL Server Native Client tramite la macro SQLNCLI_VER. Per impostazione predefinita, SQLNCLI_VER usa la versione più recente di SQL Server Native Client. Per compilare un'applicazione che utilizza sqlncli10.dll anziché sqlncli11.dll, impostare SQLNCLI_VER su 10.
Collegamento statico e funzioni BCP
Quando in un'applicazione vengono utilizzate funzioni BCP, è importante specificare nella stringa di connessione il driver della stessa versione fornita con il file di intestazione e la libreria utilizzati per compilare l'applicazione.
Ad esempio, se si compila un'applicazione usando SQL Server Native Client e il file di libreria associato (sqlncli11.lib) e il file di intestazione (sqlncli.h) da \Programmi\Microsoft SQL Server\110\SDK, assicurarsi di specificare (usando ODBC come esempio) "DRIVER={SQL Server Native Client 11.0}" nella stringa di connessione.
Per altre informazioni, vedere Esecuzione di operazioni di copia bulk.