DSN- och anslutningssträngsnyckelord och attribut

Denna artikel listar nyckelorden för anslutningssträngar och DSN, samt anslutningsattribut för SQLSetConnectAttr och SQLGetConnectAttr, tillgängliga i ODBC-drivrutinen för SQL Server.

Stödda DSN- och reťazec pripojenia-nyckelord och anslutningsattribut

Följande tabell listar tillgängliga nyckelord och attribut för varje plattform (L: Linux; M: macOS; W: Windows). Välj nyckelordet eller attributet för mer information.

DSN/Nyckelord för anslutningssträng Anslutningsattribut Platform
Addr LMW
Adress LMW
AnsiNPW SQL_COPT_SS_ANSI_NPW LMW
APP LMW
ApplicationIntent SQL_COPT_SS_APPLICATION_INTENT LMW
AttachDBFileName SQL_COPT_SS_ATTACHDBFILENAME LMW
autentisering SQL_COPT_SS_AUTHENTICATION LMW
Autotranslate SQL_COPT_SS_TRANSLATE LMW
ClientCertificate LMW
ClientKey LMW
ColumnEncryption SQL_COPT_SS_COLUMN_ENCRYPTION LMW
ConcatNullYieldsNull (v18.6+) SQL_COPT_SS_CONCAT_NULL LMW
ConnectRetryCount SQL_COPT_SS_CONNECT_RETRY_COUNT LMW
ConnectRetryInterval SQL_COPT_SS_CONNECT_RETRY_INTERVAL LMW
Databas SQL_ATTR_CURRENT_CATALOG LMW
Beskrivning LMW
Chaufför LMW
DSN LMW
Kryptera SQL_COPT_SS_ENCRYPT LMW
Failover_Partner SQL_COPT_SS_FAILOVER_PARTNER W
FailoverPartnerSPN SQL_COPT_SS_FAILOVER_PARTNER_SPN W
FileDSN LMW
GetDataExtensions (v18.0+) SQL_COPT_SS_GETDATA_EXTENSIONS LMW
HostnameInCertificate (v18.0+) LMW
IpAddressPreference (v18.1+) LMW
KeepAlive (v17.4+; DSN endast före 17,8) LMW
KeepAliveInterval (v17.4+; DSN endast före 17,8) LMW
KeystoreAuthentication LMW
KeystorePrincipalId LMW
KeystoreSecret LMW
Språk LMW
LongAsMax (v18.0+) SQL_COPT_SS_LONGASMAX LMW
MARS_Connection SQL_COPT_SS_MARS_ENABLED LMW
MultiSubnetFailover SQL_COPT_SS_MULTISUBNET_FAILOVER LMW
Net LMW
Network LMW
PWD LMW
QueryLog_On SQL_COPT_SS_PERF_QUERY W
QueryLogFile SQL_COPT_SS_PERF_QUERY_LOG W
QueryLogTIme SQL_COPT_SS_PERF_QUERY_INTERVAL W
QuotedId SQL_COPT_SS_QUOTED_IDENT LMW
Regional LMW
Replication LMW
RetryExec (18.1+) LMW
SaveFile LMW
Server LMW
ServerCertificate (v18.1+) LMW
ServerSPN SQL_COPT_SS_SERVER_SPN LMW
StatsLog_On SQL_COPT_SS_PERF_DATA W
StatsLogFile SQL_COPT_SS_PERF_DATA_LOG W
TransparentNetworkIPResolution SQL_COPT_SS_TNIR LMW
Trusted_Connection SQL_COPT_SS_INTEGRATED_SECURITY LMW
TrustServerCertificate SQL_COPT_SS_TRUST_SERVER_CERTIFICATE LMW
UID LMW
UseFMTONLY LMW
WSID LMW
SQL_ATTR_ACCESS_MODE
(SQL_ACCESS_MODE)
LMW
SQL_ATTR_ASYNC_DBC_EVENT W
SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE W
SQL_ATTR_ASYNC_DBC_PCALLBACK W
SQL_ATTR_ASYNC_DBC_PCONTEXT W
SQL_ATTR_ASYNC_ENABLE W
SQL_ATTR_AUTO_IPD LMW
SQL_ATTR_AUTOCOMMIT
(SQL_AUTOCOMMIT)
LMW
SQL_ATTR_CONNECTION_DEAD LMW
SQL_ATTR_CONNECTION_TIMEOUT LMW
SQL_ATTR_DBC_INFO_TOKEN LMW
SQL_ATTR_LOGIN_TIMEOUT
(SQL_LOGIN_TIMEOUT)
LMW
SQL_ATTR_METADATA_ID LMW
SQL_ATTR_ODBC_CURSORS
(SQL_ODBC_CURSORS)
LMW
SQL_ATTR_PACKET_SIZE
(SQL_PACKET_SIZE)
LMW
SQL_ATTR_QUIET_MODE
(SQL_QUIET_MODE)
LMW
SQL_ATTR_RESET_CONNECTION
(SQL_COPT_SS_RESET_CONNECTION)
LMW
SQL_ATTR_TRACE
(SQL_OPT_TRACE)
LMW
SQL_ATTR_TRACEFILE
(SQL_OPT_TRACEFILE)
LMW
SQL_ATTR_TRANSLATE_LIB
(SQL_TRANSLATE_DLL)
LMW
SQL_ATTR_TRANSLATE_OPTION
(SQL_TRANSLATE_OPTION)
LMW
SQL_ATTR_TXN_ISOLATION
(SQL_TXN_ISOLATION)
LMW
SQL_COPT_SS_ACCESS_TOKEN LMW
SQL_COPT_SS_ANSI_OEM W
SQL_COPT_SS_AUTOBEGINTXN LMW
SQL_COPT_SS_BCP LMW
SQL_COPT_SS_BROWSE_CACHE_DATA LMW
SQL_COPT_SS_BROWSE_CONNECT LMW
SQL_COPT_SS_BROWSE_SERVER LMW
SQL_COPT_SS_CEKEYSTOREDATA LMW
SQL_COPT_SS_CEKEYSTOREPROVIDER LMW
SQL_COPT_SS_CLIENT_CONNECTION_ID LMW
SQL_COPT_SS_CONNECTION_DEAD LMW
SQL_COPT_SS_DATACLASSIFICATION_VERSION (v17.4.2+) LMW
SQL_COPT_SS_ENLIST_IN_DTC W
SQL_COPT_SS_ENLIST_IN_XA LMW
SQL_COPT_SS_FALLBACK_CONNECT LMW
SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD LMW
SQL_COPT_SS_MUTUALLY_AUTHENTICATED LMW
SQL_COPT_SS_OLDPWD LMW
SQL_COPT_SS_PERF_DATA_LOG_NOW W
SQL_COPT_SS_PRESERVE_CURSORS LMW
SQL_COPT_SS_SPID (v17.5+) LMW
SQL_COPT_SS_TXN_ISOLATION LMW
SQL_COPT_SS_USER_DATA LMW
SQL_COPT_SS_WARN_ON_CP_ERROR LMW

Här är några reťazec pripojenia-nyckelord och anslutningsattribut som inte är dokumenterade i Using Connection String Keywords with SQL Server Native Client, SQLSetConnectAttr och SQLSetConnectAttr Function.

Description

Beskriver datakällan.

SQL_COPT_SS_ANSI_OEM

Styr ANSI till OEM-konvertering av data.

Attributvärde Description
SQL_AO_OFF (standardinställning) Översättningen är inte klar.
SQL_AO_ON Översättningen är klar.

SQL_COPT_SS_AUTOBEGINTXN

Från och med version 17.6, när autocommit är inaktiverat, använder du det här alternativet för att styra automatisk infogning av BEGIN TRANSACTION efter ROLLBACK eller COMMIT.

Attributvärde Description
SQL_AUTOBEGINTXN_ON (standardinställning) Automatiskt BEGIN TRANSACTION efter ROLLBACK eller COMMIT.
SQL_AUTOBEGINTXN_OFF Ingen automatisk BEGIN TRANSACTION efter ROLLBACK eller COMMIT.

SQL_COPT_SS_FALLBACK_CONNECT

Styr användningen av SQL Server-reservanslutningar. Detta alternativ stöds inte längre.

Attributvärde Description
SQL_FB_OFF (standardinställning) Inaktiverar reservkopplingar.
SQL_FB_ON Möjliggör reservanslutningar.

Nya nyckelord och anslutningsattribut för reťazec pripojenia

Autentisering – SQL_COPT_SS_AUTHENTICATION

Anger vilket autentiseringsläge som ska användas när du ansluter till SQL Server. Mer information finns i Använda Microsoft Entra-ID med ODBC-drivrutinen.

Nyckelordsvärde Attributvärde Description
SQL_AU_NONE (standardinställning) Inte inställt. Kombinationen av andra attribut avgör autentiseringsläget.
SqlPassword SQL_AU_PASSWORD SQL Server-autentisering med användarnamn och lösenord.
ActiveDirectoryIntegrated SQL_AU_AD_INTEGRATED Microsoft Entra-integrerad autentisering.
ActiveDirectoryInteractive SQL_AU_AD_INTERACTIVE Microsoft Entra interaktiv autentisering.
ActiveDirectoryMsi SQL_AU_AD_MSI Microsoft Entra-hanterad identitetsautentisering. För användartilldelad identitet anges UID till objekt-ID för användaridentiteten.
ActiveDirectoryServicePrincipal SQL_AU_AD_SPA Microsoft Entra-tjänstens huvudnamnsautentisering. UID sätts till klient-ID:t för tjänsteprincipalen. PWD sätts till klienthemligheten.
ActiveDirectoryPassword SQL_AU_AD_PASSWORD [INAKTUELL] Microsoft Entra-lösenordsautentisering.

ActiveDirectoryPassword är inaktuell. För mer information, se ActiveDirectoryPassword är föråldrad.
SQL_AU_RESET Inaktivera. Åsidosätter alla DSN- eller anslutningssträngsinställningar.

Anmärkning

När du använder nyckelordet eller attributet Authentication, ange uttryckligen att inställningen Encrypt ska ha det önskade värdet i anslutningssträngen, DSN:en eller anslutningsattributet. Mer information finns i Använda nyckelord för anslutningssträngar med den interna SQL Server-klienten .

Kolumnkryptering – SQL_COPT_SS_COLUMN_ENCRYPTION

Styr transparent kryptering av kolumner (Always Encrypted). För mer information, se "Använda Always Encrypted med ODBC-drivrutinen för SQL Server".

Nyckelordsvärde Attributvärde Description
Enabled SQL_CE_ENABLED Aktiverar Always Encrypted.
Disabled (standardinställning) SQL_CE_DISABLED Inaktiverar Always Encrypted.
SQL_CE_RESULTSETONLY Aktiverar endast dekryptering (resultat och returvärden).

ConcatNullYieldsNull - SQL_COPT_SS_CONCAT_NULL

Styr användningen av ISO-hantering av NULL vid sammanfogning av strängar. Mer information finns i SET CONCAT_NULL_YIELDS_NULL.

Nyckelordsvärde Attributvärde Description
Yes (standardinställning) SQL_CN_ON NULL sammanfogning ger NULL.
No SQL_CN_OFF NULL sammanfogning ger en sträng.

Kryptera

Anger om anslutningar använder TLS-kryptering över nätverket. Möjliga värden är yes/mandatory(18.0+),no/optional (18.0+) och strict(18.0+). Standardvärdet är yes i version 18.0+ och no i tidigare versioner.

Oavsett inställningen för krypteras alltid autentiseringsuppgifterna för Encryptserverinloggning (användarnamn och lösenord).

, EncryptTrustServerCertificate, och server-side-inställningarna Force Encryption avgör om anslutningar är krypterade över nätverket. Följande tabeller visar effekten av dessa inställningar.

ODBC-drivrutin 18 och senare

Krypteringsinställning Förtroendeservercertifikat Servertvingad kryptering resultat
Nej Nej Nej Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras inte.
Nej Yes Nej Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras inte.
Yes Nej Nej Servercertifikatet kontrolleras.
Data som skickas mellan klient och server krypteras.
Yes Yes Nej Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras.
Nej Nej Yes Servercertifikatet kontrolleras.
Data som skickas mellan klient och server krypteras.
Nej Yes Yes Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras.
Yes Nej Yes Servercertifikatet kontrolleras.
Data som skickas mellan klient och server krypteras.
Yes Yes Yes Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras.
Sträng - - TrustServerCertificate ignoreras. Servercertifikatet kontrolleras.
Data som skickas mellan klient och server krypteras.

Anmärkning

Värdet Strict är endast tillgängligt mot servrar som stödjer TDS 8.0-anslutningar.

ODBC-drivrutin 17 och äldre

Krypteringsinställning Förtroendeservercertifikat Servertvingad kryptering resultat
Nej Nej Nej Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras inte.
Nej Yes Nej Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras inte.
Yes Nej Nej Servercertifikatet kontrolleras.
Data som skickas mellan klient och server krypteras.
Yes Yes Nej Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras.
Nej Nej Yes Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras.
Nej Yes Yes Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras.
Yes Nej Yes Servercertifikatet kontrolleras.
Data som skickas mellan klient och server krypteras.
Yes Yes Yes Servercertifikatet verifieras inte.
Data som skickas mellan klient och server krypteras.

TransparentNetworkIPResolution – SQL_COPT_SS_TNIR

Styr funktionen Transparent Network IP Resolution, en äldre reservlösning för flera IP-adresser för ODBC-drivrutinen. Denna inställning påverkar inte anslutningssekvensen när MultiSubnetFailover=Yes, vilket är den rekommenderade inställningen för Azure SQL Database, Azure SQL Managed Instance, SQL-databas i Microsoft Fabric, tillgänglighetsgrupplyssnare och failover-klusterinstanser. För mer information, se Använd transparent nätverks-IP-upplösning med ODBC-drivrutinen eller Hög tillgänglighet och katastrofåterställning.

Nyckelordsvärde Attributvärde Description
Enabled (standardinställning) SQL_IS_ON Möjliggör transparent IP-upplösning i nätverket.
Disabled SQL_IS_OFF Inaktiverar transparent nätverks-IP-upplösning.

UseFMTONLY

Styr användningen av SET FMTONLY för metadata vid anslutning till SQL Server 2012 och senare.

Nyckelordsvärde Description
No (standardinställning) Använd sp_describe_first_result_set för metadata om det finns tillgängligt.
Yes Använd SET FMTONLY för metadata.

Replication

Anger användningen av en replikeringsinloggning på ODBC Driver version 17.8 och senare.

Nyckelordsvärde Description
No (standardinställning) Replikationsinloggning används inte.
Yes Utlösare med NOT FOR REPLICATION alternativet utlöses inte på anslutningen.

RetryExec

Konfigurerbar omprövningslogik är tillgänglig från och med version 18.1. Den kör automatiskt om specifika ODBC-funktionsanrop baserat på konfigurerbara villkor. Aktivera denna funktion via reťazec pripojenia genom att använda RetryExec nyckelordet, tillsammans med en lista med retry-regler. Varje återförsöksregel har tre kolonseparerade komponenter: en felmatchning, återförsökspolicy och en frågematchning.

Frågematchningen bestämmer vilken återförsöksregel som ska användas för en given exekvering. Den matchar den inkommande kommandotexten (SQLExecDirect) eller den förberedda kommandotexten i satsobjektet (SQLExecute). Om mer än en regel stämmer överens används den första matchningsregeln i listan. Detta beteende gör att du kan lista regler i ordning efter ökande allmänlighet. Om ingen regel stämmer överens, tillämpas inget nytt försök.

När exekveringen ger ett fel och det finns en tillämplig retry-regel, avgör felmatchningen om exekveringen ska göras om.

Nyckelordets RetryExec värde är en lista över semikolonseparerade återprovsregler.
RetryExec={rule1;rule2}

En återförsöksregel är följande: <errormatch>:<retrypolicy>:<querymatch>

  • Felmatchning: En kommaseparerad lista med felkoder. Till exempel listar du de felkoder du vill försöka om, om du specificerar 1000,2000 .

  • Omprövningspolicy: Specificerar fördröjning till nästa omförsök. Den första parametern är antalet försök, och den andra parametern är fördröjningen. Till exempel 3,10+7 betyder tre försök som börjar vid 10, och varje efterföljande försök ökar med 7 sekunder. Om du inte specificerar +7, fördubblas varje efterföljande försök exponentiellt.

  • Frågematchning: Specificerar vilken fråga du vill matcha. Om du inte specificerar något gäller regeln för alla frågor. Specificering SELECT betyder alla frågor som börjar med SELECT.

Genom att kombinera alla tre komponenterna för användning i en reťazec pripojenia:

RetryExec={1000,2000:3,10+7:SELECT}

Denna regel betyder: För fel 1000 och 2000 på en fråga som börjar med SELECT, försök två gånger med en initial fördröjning på 10 sekunder, och lägg till 7 sekunder för varje efterföljande försök.

Examples

40501,40540:4,5

För fel 40501 och 40540, försök igen upp till fyra gånger, med en initial fördröjning på 5 sekunder, och exponentiell fördubbling mellan varje försök. Den här regeln gäller för alla frågor.

49919:2,10+:CREATE

För fel 49919 på en fråga som börjar med CREATE, försök om högst två gånger, först efter 10 sekunder och sedan 20 sekunder.

49918,40501,10928:5,10+5:SELECT c1

För fel 49918, , och 10928 på frågor som börjar med SELECT c1, försök igen upp till fem gånger, vänta 10 sekunder vid första försöket och öka väntan med 5 40501sekunder därefter.

Ange de tre föregående reglerna tillsammans i reťazec pripojenia enligt följande:

RetryExec={49918,40501,10928:5,10+5:SELECT c1;49919:2,10+:CREATE;40501,40540:4,5}

Placera den mest allmänna regeln (som matchar allt) sist, så att de två mer specifika reglerna före den kan matcha sina respektive sökfrågor.

klientcertifikat

Specificerar certifikatet för autentisering med loopback-anslutningar. Detta alternativ finns endast i SQL Server on Linux. Alternativen är:

Alternativvärde Description
sha1:<hash_value> ODBC-drivrutinen använder SHA1-hashen för att hitta ett certifikat i Windows Certificate Store.
subject:<subject> ODBC-drivrutinen använder ämnet för att hitta ett certifikat i Windows certifikatbutik.
file:<file_location>[,password:<password>] ODBC-drivrutinen använder en certifikatfil.

Om certifikatet är i format PFX och den privata nyckeln inuti certifikatet PFX är lösenordsskyddad, inkludera nyckelordet password . För certifikat i PEM och DER format, inkludera attributet ClientKey .

ClientKey

Specificerar filplatsen för den privata nyckeln eller PEMDER certifikat som anges av attributet ClientCertificate . Format:

Alternativvärde Description
file:<file_location>[,password:<password>] Specificerar platsen för filen med den privata nyckeln.

Om den privata nyckelfilen är lösenordsskyddad, inkludera nyckelordet password . Om lösenordet innehåller några , tecken, lägg till ett extra , tecken direkt efter varje. Till exempel, om lösenordet är a,b,c, är a,,b,,cdet undkomna lösenordet i reťazec pripojenia .

HostnameInCertificate

Specificerar värdnamnet som ska förväntas i serverns certifikat när kryptering förhandlas, om det skiljer sig från standardvärdet härlett från Addr, Address, eller Server. Alternativet HostnameInCertificate ignoreras när du använder alternativet ServerCertificate .

IP-adressinställning

Från och med version 18.1, använd detta alternativ för att ange vilken typ av IP-adress som ska prioriteras för anslutningar.

De möjliga alternativen är IPv4First, IPv6First, och UsePlatformDefault. UsePlatformDefault ansluter till adresser i den ordning de tillhandahålls av systemanropet för att lösa servernamnet. Standardvärdet är IPv4First, vilket motsvarar beteendet i tidigare versioner.

ServerCertificate

Från och med version 18.1, använd detta alternativ med strikt krypteringsläge. Använd ServerCertificate nyckelordet för att specificera vägen till en certifikatfil som matchar mot SQL Server TLS/SSL-certifikatet. Matchningen görs istället för standardvalidering av certifikat (utgång, värdnamn, förtroendekedja, etc.). De godkända certifikatformaten är PEM, DERoch CER. Om du anger detta alternativ kontrolleras SQL Server-certifikatet genom att se om det ServerCertificate tillhandahållna är en exakt matchning.

SQL_COPT_SS_ACCESS_TOKEN

Använd en Microsoft Entra-åtkomsttoken för autentisering. Mer information finns i Använda Microsoft Entra-ID med ODBC-drivrutinen.

Attributvärde Description
NULL (standardinställning) Ingen åtkomsttoken tillhandahålls.
ACCESSTOKEN* Pekare till en åtkomsttoken.

SQL_COPT_SS_CEKEYSTOREDATA

Kommunicerar med ett laddat providerbibliotek för nyckellager. Styr transparent kryptering av kolumner (Always Encrypted). Det här attributet har inget standardvärde. Mer information finns i Anpassade nyckellagerleverantörer.

Attributvärde Description
CEKEYSTOREDATA * Kommunikationsdatastruktur för nyckellagringsproviderbibliotek

SQL_COPT_SS_CEKEYSTOREPROVIDER

Läser in ett nyckelarkivproviderbibliotek för Always Encrypted eller hämtar namnen på inlästa nyckelarkivproviderbibliotek. Mer information finns i Anpassade nyckellagerleverantörer. Det här attributet har inget standardvärde.

Attributvärde Description
char * Sökväg till ett bibliotek för nyckellagerprovider

SQL_COPT_SS_ENLIST_IN_XA

För att möjliggöra XA-transaktioner med en XA-kompatibel Transaction Processor (TP) behöver applikationen anropa SQLSetConnectAttr med SQL_COPT_SS_ENLIST_IN_XA och en pekare till ett XACALLPARAM objekt. Det här alternativet stöds i Windows (17.3+), Linux och macOS.

SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, param, SQL_IS_POINTER);  // XACALLPARAM *param

För att associera en XA-transaktion endast med en ODBC-anslutning, tillhandahåll TRUE eller FALSE med SQL_COPT_SS_ENLIST_IN_XA istället för pekaren när du anropar SQLSetConnectAttr. Den här inställningen är endast giltig i Windows och kan inte användas för att ange XA-åtgärder via ett klientprogram.

SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, (SQLPOINTER)TRUE, 0);
Värde Description Plattformar
XACALLPARAM objekt* Pekare till objektet XACALLPARAM. Windows, Linux och macOS
TRUE Associerar XA-transaktionen med ODBC-anslutningen. Alla relaterade databasaktiviteter utförs under skydd av XA-transaktionen. Windows
FALSE Kopplar bort transaktionen med ODBC-anslutningen. Windows

Mer information om XA-transaktioner finns i Använda XA-transaktioner.

SQL_COPT_SS_LONGASMAX

Skickar långa datatyper till servrar som maxdatatyper.

Attributvärde Description
No (standardinställning) Konvertera inte långa typer till max-typer när du skickar.
Yes Konvertera data från långa typer till maxtyper när du skickar.

SQL_COPT_SS_SPID

Hämtar sessions-ID för anslutningen. Den här egenskapen motsvarar variabeln T-SQL @@SPID , förutom att den inte medför en extra tur och retur-resa till servern.

Attributvärde Description
DWORD SPID