Vytvoření aplikace ovladače

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytický platformní systém (PDW)

Important

SQL Server Native Client (SNAC) není dodáván s:

  • SQL Server 2022 (16.x) a novější verze
  • SQL Server Management Studio 19 a novější verze

Pro vývoj nových aplikací se nedoporučuje nativní klient SQL Serveru (SQLNCLI nebo SQLNCLI11) a starší zprostředkovatel Microsoft OLE DB pro SQL Server (SQLOLEDB).

Pro nové projekty použijte jeden z následujících ovladačů:

Informace o SQLNCLI, které se dodává jako součást databázového stroje SQL Serveru (verze 2012 až 2019), naleznete v tomto support lifecycle exception.

Architektura ODBC má čtyři komponenty, které plní následující funkce.

Součást Function
Přihláška Volá funkce ODBC ke komunikaci se zdrojem dat ODBC, odesílá SQL příkazy a zpracovává sady výsledků.
Driver Manager Spravuje komunikaci mezi aplikací a všemi ODBC ovladači používanými aplikací.
Driver Zpracovává všechny volání funkcí ODBC z aplikace, připojuje se ke zdroji dat, předává SQL příkazy z aplikace ke zdroji dat a vrací výsledky aplikaci. Pokud je to nutné, ovladač převede ODBC SQL z aplikace do nativního SQL používaného datovým zdrojem.
Zdroj dat Obsahuje všechny informace, které ovladač potřebuje k přístupu ke konkrétní instanci dat v DBMS.

Aplikace, která používá ovladač SQL Server Native Client ODBC ke komunikaci s instancí SQL Server, vykonává následující úkoly:

  • Připojení ke zdroji dat

  • Posílá SQL příkazy do datového zdroje

  • Zpracovává výsledky výkazů ze zdroje dat

  • Zpracovává chyby a zprávy

  • Ukončuje spojení se zdrojem dat

Složitější aplikace napsaná pro ovladač SQL Server Native Client ODBC může také provádět následující úkoly:

  • Použijte kurzory k ovládání polohy ve výsledné množině

  • Požadavek na operace commit nebo rollback pro řízení transakcí

  • Provádějte distribuované transakce zahrnující dva nebo více serverů

  • Spusť uložené procedury na vzdáleném serveru

  • Volejte katalogové funkce pro dotazování na atributy výsledné množiny

  • Provádění hromadných kopírovacích operací

  • Správa operací s velkými daty (varchar(max),nvarchar(max) a varbinary(max) sloupci

  • Použijte logiku opětovného připojení k usnadnění failoveru při konfiguraci zrcadlení databáze

  • Data o výkonu logů a dlouhodobé dotazy

Pro volání funkcí ODBC musí aplikace v C nebo C++ obsahovat soubory hlaviček sql.h, sqlext.h a sqltypes.h. Pro volání funkcí instalačního API ODBC musí aplikace zahrnout soubor hlavičky odbcinst.h. Aplikace Unicode ODBC musí obsahovat soubor s hlavičkou sqlucode.h. Aplikace ODBC musí být propojeny se souborem odbc32.lib. ODBC aplikace, které volají funkce instalačního API ODBC, musí být propojeny se souborem odbccp32.lib. Tyto soubory jsou zahrnuty ve Windows Platform SDK.

Mnoho ODBC ovladačů, včetně SQL Server Native Client ODBC ovladače, nabízí ODBC rozšíření specifická pro ovladače. Aby aplikace využila rozšíření specifická pro ovladače SQL Server Native Client ODBC, měla by obsahovat soubor hlavičky sqlncli.h. Tento hlavičkový soubor obsahuje:

  • SQL Server Native Client ODBC specifické atributy připojení ovladače.

  • SQL Server Native Client ODBC specifické atributy příkazů.

  • SQL Server Native Client ODBC sloupcové atributy specifické pro ovladače.

  • Specifické datové typy pro SQL Server.

  • Uživatelsky definované datové typy specifické pro SQL Server.

  • SQL Server Native Client ODBC specifické SQLGetInfo typy SQLGetInfo.

  • Nativní ODBC diagnostická pole ovladačů pro nativní klient SQL Server.

  • Specifické diagnostické dynamické funkční kódy specifické pro SQL Server.

  • Definice typů C/C++ pro SQL Server-specifické nativní C datové typy (vráceny, když jsou sloupce vázány na C datový typ SQL_C_BINARY).

  • Definice typu pro datovou strukturu SQLPERF.

  • Hromadné kopírovaní maker a prototypů pro podporu hromadného kopírovacího API přes ODBC připojení.

  • Funkce distribuovaného API pro metadata dotazů volají seznamy propojených serverů a jejich katalogů.

Každá C nebo C++ ODBC aplikace, která využívá funkci hromadného kopírování ovladače SQL Server Native Client ODBC, musí být propojena se souborem sqlncli11.lib. Aplikace volající funkce distribuovaného metadata dotazu musí být také propojeny se sqlncli11.lib. Soubory sqlncli.h a sqlncli11.lib jsou distribuovány jako součást nástrojů pro vývojáře SQL Server. Adresáře SQL Server Include a Lib by měly být v cestách INCLUDE a LIB kompilátoru, jak je následující:

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;  

Jedním z návrhových rozhodnutí učiněných již na začátku procesu tvorby aplikace je, zda musí mít aplikace více neplacených ODBC hovorů současně. Existují dvě metody podpory více souběžných ODBC hovorů, které jsou popsány v ostatních tématech této sekce. Pro více informací viz ODBC Programmer's Reference.

V této sekci