Dela via


Nyckelord och attribut för DSN och anslutningssträngar

På den här sidan visas nyckelorden för anslutningssträngar och DSN och anslutningsattribut för SQLSetConnectAttr och SQLGetConnectAttr, som är tillgängliga i ODBC-drivrutinen för SQL Server.

DSN/anslutningssträngsnyckelord och anslutningsattribut som stöds

I följande tabell visas de tillgängliga nyckelorden och attributen 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
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
Sparafil 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_CONCAT_NULL 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 följer några nyckelord för anslutningssträngar och anslutningsattribut som inte finns dokumenterade i Använda nyckelord för anslutningssträngar med SQL Server Native Client, SQLSetConnectAttr och SQLSetConnectAttr Function.

Description

Används för att beskriva datakällan.

SQL_COPT_SS_ANSI_OEM

Styr ANSI till OEM-konvertering av data.

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

SQL_COPT_SS_AUTOBEGINTXN

Version 17.6+ När automatisk återtagande är av, styr automatisk START-TRANSAKTION efter ÅTERSTÄLLNING eller INCHECKNING.

Attributvärde Description
SQL_AUTOBEGINTXN_ON (Standard) Automatisk STARTTRANSAKTION efter ÅTERSTÄLLNING eller INCHECKNING.
SQL_AUTOBEGINTXN_OFF Ingen automatisk STARTTRANSAKTION efter ÅTERSTÄLLNING eller INCHECKNING.

SQL_COPT_SS_FALLBACK_CONNECT

Styr användningen av SQL Server-återställningsanslutningar. Den här stöds inte längre.

Attributvärde Description
SQL_FB_OFF (Standard) Återställningsanslutningar är inaktiverade.
SQL_FB_ON Återställningsanslutningar är aktiverade.

Nyckelord för ny anslutningssträng och anslutningsattribut

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.

Nyckelordsvärde Attributvärde Description
SQL_AU_NONE (Standard) 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.
ActiveDirectoryPassword SQL_AU_AD_PASSWORD Microsoft Entra-lösenordsautentisering.
ActiveDirectoryInteractive SQL_AU_AD_INTERACTIVE Interaktiv Microsoft Entra-autentisering.
ActiveDirectoryMsi SQL_AU_AD_MSI Microsoft Entra-hanterad identitetsautentisering. För användartilldelad identitet är UID inställt på objekt-ID för användaridentiteten.
ActiveDirectoryServicePrincipal SQL_AU_AD_SPA Microsoft Entra-tjänstens huvudnamnsautentisering. UID är inställt på klient-ID för tjänstens huvudnamn. PWD är inställt på klienthemligheten.
SQL_AU_RESET Inaktivera. Åsidosätter alla DSN- eller anslutningssträngsinställningar.

Anmärkning

När du använder Authentication nyckelord eller attribut anger du Encrypt uttryckligen inställningen till önskat värde i anslutningssträngen/DSN/anslutningsattributet. Mer information finns i Använda nyckelord för anslutningssträngar med den interna SQL Server-klienten .

ColumnEncryption – SQL_COPT_SS_COLUMN_ENCRYPTION

Styr transparent kolumnkryptering (Always Encrypted). Mer information finns i Använda Always Encrypted (ODBC).

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

Kryptera

Anger om anslutningar använder TLS-kryptering över nätverket. Möjliga värden är yes/mandatory(18.0+),optionalno/ (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).

Encrypt, TrustServerCertificate, och serversidans Force Encryption inställningar spelar en roll i huruvida anslutningar krypteras över nätverket. Följande tabeller visar effekten av dessa inställningar.

ODBC-drivrutin 18 och senare

Krypteringsinställning Förtroendeservercertifikat Server Force Encryption resultat
Nej Nej Nej Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras inte.
Nej Yes Nej Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras inte.
Yes Nej Nej Servercertifikatet är markerat.
Data som skickas mellan klient och server krypteras.
Yes Yes Nej Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras.
Nej Nej Yes Servercertifikatet är markerat.
Data som skickas mellan klient och server krypteras.
Nej Yes Yes Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras.
Yes Nej Yes Servercertifikatet är markerat.
Data som skickas mellan klient och server krypteras.
Yes Yes Yes Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras.
Sträng - - TrustServerCertificate ignoreras. Servercertifikatet är markerat.
Data som skickas mellan klient och server krypteras.

Anmärkning

Strikt är endast tillgängligt mot servrar som stöder TDS 8.0-anslutningar.

ODBC-drivrutin 17 år och äldre

Krypteringsinställning Förtroendeservercertifikat Server Force Encryption resultat
Nej Nej Nej Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras inte.
Nej Yes Nej Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras inte.
Yes Nej Nej Servercertifikatet är markerat.
Data som skickas mellan klient och server krypteras.
Yes Yes Nej Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras.
Nej Nej Yes Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras.
Nej Yes Yes Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras.
Yes Nej Yes Servercertifikatet är markerat.
Data som skickas mellan klient och server krypteras.
Yes Yes Yes Servercertifikatet är inte markerat.
Data som skickas mellan klient och server krypteras.

TransparentNetworkIPResolution – SQL_COPT_SS_TNIR

Styr funktionen Transparent nätverks-IP-upplösning, som interagerar med MultiSubnetFailover för att möjliggöra snabbare återanslutningsförsök. Mer information finns i Använda transparent nätverks-IP-upplösning.

Nyckelordsvärde Attributvärde Description
Enabled SQL_IS_ON (Standard) Aktiverar transparent nätverks-IP-upplösning.
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
Nej (Standard) Använd sp_describe_first_result_set för metadata om det är 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
Nej (Standard) Replikeringsinloggning 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. Den här funktionen kan aktiveras via anslutningssträngen med nyckelordet RetryExec , tillsammans med en lista över regler för återförsök. Varje återförsöksregel har tre kolonavgränsade komponenter: en felmatchning, återförsöksprincip och en frågematchning.

Frågematchningen avgör vilken återförsöksregel som ska användas för en viss körning och matchas med inkommande kommandotext (SQLExecDirect) eller den förberedda kommandotexten i instruktionsobjektet (SQLExecute). Om fler än en regel matchar används den första matchande i listan. Det här beteendet gör att regler kan visas i ordning mot ökad generalitet. Om ingen regel matchar tillämpas inget nytt försök.

När körningen resulterar i ett fel, och det finns en tillämplig återförsöksregel, används dess felmatchning för att avgöra om körningen ska göras om.

Värdet för nyckelordet RetryExec är en lista över semikolonavgränsade återförsöksregler.
RetryExec={rule1;rule2}

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

Felmatchning: En kommaavgränsad lista över felkoder. Att till exempel ange 1000 2000 skulle vara de felkoder som du vill försöka igen.

Återförsöksprincip: Anger fördröjningen till nästa återförsök. Den första parametern skulle vara antalet återförsök medan den andra skulle vara fördröjningen. Till exempel skulle 3,10+7 vara 3 försök från och med 10 och varje efterföljande återförsök skulle öka med 7 sekunder. Om +7 inte anges fördubblas varje efterföljande återförsök exponentiellt.

Frågematchning: Anger den fråga som du vill matcha med. Om inget anges gäller det för alla frågor. Att ange SELECT skulle innebära för alla frågor som börjar med select.

Att kombinera alla tre ovanstående komponenter som ska användas i en anslutningssträng skulle vara:

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

Vilket skulle innebära: "För felen 1000 och 2000, på en fråga som börjar med SELECT. Försök igen två gånger med en inledande fördröjning på 10 sekunder och lägg till 7 sekunder för varje följande försök"

Examples

40501,40540:4,5

För felen 40501 och 40540 försöker du igen upp till fyra gånger, med en inledande fördröjning på 5 sekunder och exponentiell fördubbling mellan varje nytt 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öker du igen 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, 40501 och 10928 på frågor som börjar med SELECT c1, försök igen upp till fem gånger, väntar 10 sekunder på det första återförsöket och ökar väntetiden med 5 sekunder därefter.

Ovanstående tre regler kan anges tillsammans i anslutningssträngen enligt följande:

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

Den mest allmänna regeln (match-all) placeras i slutet för att tillåta att de två mer specifika reglerna före den matchar deras respektive frågor.

klientcertifikat

Anger det certifikat som ska användas för autentisering med loopback-anslutningar (endast tillgängligt i SQL Server i Linux). Alternativen är:

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

Om certifikatet är i PFX-format och den privata nyckeln i PFX-certifikatet är lösenordsskyddad krävs nyckelordet lösenord. För certifikat i PEM- och DER-format krävs ClientKey-attribut

ClientKey

Anger en filplats för den privata nyckeln för PEM eller DER certifikat som anges av attributet ClientCertificate. Format:

Alternativvärde Description
file:<file_location>[,password:<password>] Anger platsen för den privata nyckelfilen.

Om den privata nyckelfilen är lösenordsskyddad krävs lösenordsnyckelord. Om lösenordet innehåller några , tecken läggs ett extra , tecken till direkt efter var och en. Om lösenordet till exempel är a,b,cär a,,b,,cdet undantagna lösenordet i anslutningssträngen .

HostnameInCertificate

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

IpAddressPreference

Det här alternativet är tillgängligt från och med version 18.1 och tillåter användaren att ange vilken typ av IP-adress de vill prioritera för anslutningar. De möjliga alternativen är "IpAddress= [ IPv4First | IPv6First | UsePlatformDefault]." UsePlatformDefault ansluter till adresser i den ordning de tillhandahålls av systemanropet för att matcha servernamnet. Standardvärdet är IPv4First, vilket motsvarar beteendet i tidigare versioner.

ServerCertificate

Det här alternativet är tillgängligt från och med version 18.1 och kan användas med strikt krypteringsläge. Nyckelordet ServerCertificate används för att ange sökvägen till en certifikatfil som ska matchas mot SQL Server TLS/SSL-certifikatet. Matchningen görs i stället för standardcertifikatverifiering (förfallodatum, värdnamn, förtroendekedja osv.) De godkända certifikatformaten är PEM, DER och CER. Om det anges kontrolleras SQL Server-certifikatet genom att se om den angivna ServerCertificate är en exakt matchning.

SQL_COPT_SS_ACCESS_TOKEN

Tillåter användning av en Microsoft Entra-åtkomsttoken för autentisering. Mer information finns i Använda Microsoft Entra-ID.

Attributvärde Description
NOLL (Standard) Ingen åtkomsttoken har angetts.
ACCESSTOKEN* Pekare till en åtkomsttoken.

SQL_COPT_SS_CEKEYSTOREDATA

Kommunicerar med ett inläst nyckelarkivproviderbibliotek. Se Kontroller av transparent kolumnkryptering (Always Encrypted). Det här attributet har inget standardvärde. Mer information finns i Anpassade nyckelarkivprovidrar.

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 nyckelarkivprovidrar. Det här attributet har inget standardvärde.

Attributvärde Description
röding* Sökväg till ett nyckelarkivproviderbibliotek

SQL_COPT_SS_ENLIST_IN_XA

För att aktivera XA-transaktioner med en XA-kompatibel transaktionsprocessor (TP) måste programmet 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

Om du bara vill associera en XA-transaktion med en ODBC-anslutning anger du TRUE eller FALSE med SQL_COPT_SS_ENLIST_IN_XA i stä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* Pekaren till XACALLPARAM objektet. 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

Tillåter att data av typen long skickas till servrar som maximalt antal datatyper.

Attributvärde Description
Nej (Standard) Konvertera inte långa typer till maxtyper när du skickar.
Yes Konverterar data från långa typer till maxtyper vid sändning.

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