Anteckning
Å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.
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.
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 REPLICATIONalternativet 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 XACALLPARAMobjektet. | 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 |