Kommentar
Å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.
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.
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+7betyder 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
SELECTbetyder alla frågor som börjar medSELECT.
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 |