Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure 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.