Använda katalogfunktioner

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

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.

Alla databaser har en struktur som innehåller de data som lagras i databasen. En definition av denna struktur, tillsammans med annan information såsom behörigheter, lagras i en katalog (implementerad som en uppsättning systemtabeller), även känd som en datadictionary.

SQL Server Native Client ODBC-drivrutinen gör det möjligt för en applikation att bestämma databasstrukturen genom anrop till ODBC-katalogfunktioner. Katalogfunktioner returnerar information i resultatuppsättningar och implementeras med kataloglagrade procedurer för att söka systemtabellerna i katalogen. Ett program kan till exempel begära en resultatuppsättning som innehåller information om alla tabeller i systemet eller alla kolumner i en viss tabell. De standardiserade ODBC-katalogfunktionerna används för att hämta kataloginformation från den SQL Server som applikationen är ansluten till.

SQL Server stöder distribuerade frågor där data från flera, heterogena OLE DB-datakällor nås i en enda fråga. En av metoderna för att komma åt en fjärransluten OLE DB-datakälla är att definiera datakällan som en länkad server. Detta kan göras genom att använda sp_addlinkedserver. Efter att den länkade servern har definierats kan objekten i den servern refereras i Transact-SQL satser med hjälp av ett fyrdelat namn:

linked_server_name.catalog.schema.object_name.

SQL Server Native Client ODBC-drivrutinen stöder två drivrutinsspecifika funktioner som hjälper till att hämta kataloginformation från länkade servrar:

  • SQLLinkedServers

    Returnerar en lista över de länkade servrarna som definierats till den lokala servern.

  • SQLLinkedCatalogs

    Returnerar en lista över katalogerna som finns på en länkad server.

Efter att du har ett länkat servernamn och ett katalognamn stödjer den SQL Server Native Client ODBC-drivrutinen att hämta information från katalogen genom att använda ett tvådelat namn linked_server_name.katalog för CatalogName på följande ODBC-katalogfunktioner:

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

Den tvådelade linked_server_name.katalogen stöds också för FKCatalogName och PKCatalogNameSQLForeignKeys.

Att använda SQLLinkedServers och SQLLinkedCatalogs kräver följande filer:

  • sqlncli.h

    Inkluderar funktionsprototyper och konstanta definitioner för länkade serverkatalogfunktioner. sqlncli.h måste inkluderas i ODBC-applikationen och måste finnas i include-sökvägen när applikationen kompileras.

  • sqlncli11.lib

    Måste finnas i länkens biblioteksväg och specificeras som en fil som ska länkas. sqlncli11.lib distribueras med SQL Server Native Client ODBC-drivrutinen.

  • sqlncli11.dll

    Måste vara närvarande vid avrättningstiden. sqlncli11.dll distribueras med den SQL Server inbyggda klientdrivrutinen ODBC.