Utilizzo dei file di intestazione e della libreria di SQL Server Native Client
I file di intestazione e libreria 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 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 SQL Server Native Client funzionalità di accesso ai dati 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.
Oltre al file di intestazione SQL Server Native Client, è disponibile anche un file di libreria sqlncli11.lib che è la libreria di esportazione per SQL Server funzionalità BCP (Bulk Copy Program) 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 in MDAC) o i simboli per la funzionalità XML (che non è supportato 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, il file di intestazione SQL Server Native Client funzionerà al posto delle versioni precedenti di odbcss.h.
Le applicazioni OLE DB che usano il provider OLE DB SQL Server Native Client devono fare riferimento solo a sqlncli.h. Se un'applicazione usa sia MDAC (SQLOLEDB) che il provider OLE DB 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 SQL Server Native Client, è necessario usare un'istruzione include
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 SQL Server Native Client possono essere compilati solo con Visual Studio C++ 2002 o versione successiva.
OLE DB
Per utilizzare il file di intestazione SQL Server Native Client in un'applicazione OLE DB, utilizzando 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. Se inoltre nell'applicazione è presente 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 utilizzare il file di intestazione 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 2014 |
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 viene predefinito 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.