Att använda SQL Server Native Client header och biblioteksfiler

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Important

SQL Server Native Client (SNAC) levereras inte med:

  • SQL Server 2022 (16.x) och senare versioner
  • SQL Server Management Studio 19 och senare versioner

SQL Server Native Client (SQLNCLI eller SQLNCLI11) och den äldre Microsoft OLE DB-providern för SQL Server (SQLOLEDB) rekommenderas inte för ny programutveckling.

Använd någon av följande drivrutiner för nya projekt:

För SQLNCLI som levereras som en komponent i SQL Server-databasmotorn (versioner 2012 till och med 2019), se det här Support Lifecycle-undantag.

SQL Server Native Client-huvudet och biblioteksfilerna installeras med SQL Server. När du utvecklar en applikation är det viktigt att kopiera och installera alla nödvändiga filer för utveckling till din utvecklingsmiljö. För mer information om installation och omdistribution av SQL Server Native Client, se Installing SQL Server Native Client.

SQL Server Native Client-headern och biblioteksfilerna installeras på följande plats:

%PROGRAM FILES%\Microsoft SQL Server\110\SDK

SQL Server Native Client-headerfilen (sqlncli.h) kan användas för att lägga till SQL Server Native Client dataåtkomstfunktionalitet i dina anpassade applikationer. SQL Server Native Client-headerfilen innehåller alla definitioner, attribut, egenskaper och gränssnitt som behövs för att dra nytta av de nya funktionerna som introducerades i SQL Server 2005 (9.x).

Förutom SQL Server Native Client-headerfilen finns även en sqlncli11.lib-biblioteksfil som är exportbiblioteket för SQL Server Bulk Copy Program (BCP)-funktionalitet för ODBC.

SQL Server Native Client-headerfilen är bakåtkompatibel med både sqloledb.h och odbcss.h headerfiler som används med Microsoft Data Access Components (MDAC), men innehåller inte CLSID:er för SQLOLEDB (OLE DB-leverantören för SQL Server som ingår i MDAC) eller symboler för XML-funktionalitet (som inte stöds av SQL Server Native Client).

ODBC-applikationer kan inte referera till SQL Server Native Client-headern (sqlncli.h) och odbcss.h i samma program. Även om du inte använder några av funktionerna som introducerades i SQL Server 2005 (9.x), kommer SQL Server Native Client-headerfilen att fungera istället för den äldre odbcss.h.

OLE DB-applikationer som använder SQL Server Native Client OLE DB-leverantör behöver endast referera till sqlncli.h. Om en applikation använder både MDAC (SQLOLEDB) och SQL Server Native Client OLE DB-leverantören kan den referera till både sqloledb.h och sqlncli.h, men referensen till sqloledb.h måste komma först.

Användning av SQL Server Native Client Header-filen

För att använda SQL Server Native Client-headerfilen måste du använda en include-sats i din C/C++-programmeringskod. Följande avsnitt beskriver hur detta görs för både OLE DB- och ODBC-applikationer.

Note

SQL Server Native Client-headern och biblioteksfilerna kan endast kompileras med Visual Studio C++ 2002 eller senare.

OLE DB

För att använda SQL Server Native Client-headerfilen i en OLE DB-applikation, med följande rader programmeringskod:

#define _SQLNCLI_OLEDB_  
include "sqlncli.h";  

Note

Den första kodraden ovan bör utelämnas om både OLE DB och ODBC API:er används av applikationen. Dessutom, om applikationen har ett include-sats för sqloledb.h, måste include-satsen för sqlncli.h komma efter den.

När du skapar en anslutning till en datakälla via SQL Server Native Client, använd "SQLNCLI11" som leverantörsnamnsträng.

ODBC

För att använda SQL Server Native Client-headerfilen i en ODBC-applikation, med följande rader programmeringskod:

#define _SQLNCLI_ODBC_  
include "sqlncli.h";  

Note

Den första kodraden som visas ovan bör utelämnas om både OLE DB- och ODBC-API:er används av applikationen. Dessutom, om ansökan har ett #include uttalande för odbcss.h, bör det tas bort.

När du skapar en anslutning till en datakälla via SQL Server Native Client, använd "SQL Server Native Client 11.0" som drivrutinsnamnsträng.

Komponentnamn och egenskaper per version

Property SQL Server Native-klient

SQL Server 2005
SQL Server Native Client 10.0

SQL Server 2008
SQL Server Native Client 11.0

SQL Server 2012 (11.x)
MDAC
ODBC:s förarnamn SQL-intern klient SQL Server Native Client 10.0 SQL Server Native Client 11.0 SQL Server
ODBC-headerfilnamn Sqlncli.h Sqlncli.h Sqlncli.h Odbcss.h
ODBC-drivrutin DLL Sqlncli.dll Sqlncl10.dll Sqlncl11.dll sqlsrv32.dll
ODBC lib-fil för BCP-API:er Sqlncli.lib Sqlncli10.lib Sqlncli11.lib Odbcbcp.lib
ODBC DLL för BCP-API:er Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Odbcbcp.dll
OLE DB PROGID SQLNCLI SQLNCLI10 SQLNCLI11 SQLOLEDB
OLE DB-headerfilnamn Sqlncli.h Sqlncli.h Sqlncli.h Sqloledb.h
OLE DB-leverantör DLL Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Sqloledb.dll

sqlncli.h stöder flera versioner av SQL Server Native Client via makrot SQLNCLI_VER. Som standard går SQLNCLI_VER till den senaste versionen av SQL Server Native Client. För att bygga en applikation som använder sqlncli10.dll istället för sqlncli11.dll, ställ SQLNCLI_VER till 10.

Statisk länkning och BCP-funktioner

När en applikation använder BCP-funktioner är det viktigt att applikationen anger i reťazec pripojenia drivrutinen från samma version som levererades med headerfilen och biblioteket som användes för att kompilera applikationen.

Till exempel, om du kompilerar en applikation med SQL Server Native Client, och tillhörande biblioteksfil (sqlncli11.lib) och headerfil (sqlncli.h) från \Program Files\Microsoft SQL Server\110\SDK, se till att specificera (med ODBC som exempel) "DRIVER={SQL Server Native Client 11.0}" i reťazec pripojenia.

För mer information, se Utförande av masskopieringsoperationer.