Sdílet prostřednictvím


DsN a připojovací řetězec – klíčová slova a atributy

Na této stránce jsou uvedena klíčová slova pro připojovací řetězce a sítě DSN a atributy připojení pro SQLSetConnectAttr a SQLGetConnectAttr, které jsou k dispozici v ovladači ODBC pro SQL Server.

Podporovaná klíčová slova DSN/připojovacího řetězce a atributy připojení

Následující tabulka uvádí dostupná klíčová slova a atributy pro každou platformu (L: Linux; M: macOS; W: Windows). Další podrobnosti zobrazíte výběrem klíčového slova nebo atributu.

DSN / Klíčové slovo připojovacího řetězce Atribut připojení Platforma
Addr LMW
Adresa LMW
AnsiNPW SQL_COPT_SS_ANSI_NPW LMW
APP LMW
ApplicationIntent SQL_COPT_SS_APPLICATION_INTENT LMW
AttachDBFileName SQL_COPT_SS_ATTACHDBFILENAME LMW
Autentizace SQL_COPT_SS_AUTHENTICATION LMW
Automatický přenos 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
Databáze SQL_ATTR_CURRENT_CATALOG LMW
Description LMW
Řidič LMW
DSN LMW
Zašifrovat 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
Název hostiteleInCertificate (v18.0+) LMW
IpAddressPreference (v18.1+) LMW
KeepAlive (v17.4+; DSN pouze před 17.8) LMW
KeepAliveInterval (v17.4+; DSN pouze před 17.8) LMW
Ověřování úložiště klíčů LMW
KeystorePrincipalId LMW
KeystoreSecret LMW
Jazyk 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
Regionální LMW
Replication LMW
RetryExec (18.1+) LMW
Uložit soubor 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

Tady jsou některá klíčová slova připojovacího řetězce a atributy připojení, které nejsou zdokumentované v použití klíčových slov připojovacího řetězce s sql Server Native Client, SQLSetConnectAttr a SQLSetConnectAttr funkce.

Description

Používá se k popisu zdroje dat.

SQL_COPT_SS_ANSI_OEM

Řídí převod dat pomocí ANSI na OEM.

Hodnota atributu Description
SQL_AO_OFF (Výchozí) Překlad není hotový.
SQL_AO_ON Překlad je hotový.

SQL_COPT_SS_AUTOBEGINTXN

Verze 17.6+ Zatímco automatickécommit je vypnuto, řídí automatické BEGIN TRANSACTION po vrácení zpět nebo potvrzení.

Hodnota atributu Description
SQL_AUTOBEGINTXN_ON (Výchozí) Automatické ZAHÁJENÍ TRANSAKCE po VRÁCENÍ ZPĚT nebo POTVRZENÍ.
SQL_AUTOBEGINTXN_OFF Po vrácení zpět nebo potvrzení není k dispozici žádná automatická TRANSAKCE BEGIN.

SQL_COPT_SS_FALLBACK_CONNECT

Řídí použití náhradních připojení SQL Serveru. Tato funkce se už nepodporuje.

Hodnota atributu Description
SQL_FB_OFF (Výchozí) Náhradní připojení jsou zakázaná.
SQL_FB_ON Jsou povolená náhradní připojení.

Nová klíčová slova připojovacího řetězce a atributy připojení

Ověřování – SQL_COPT_SS_AUTHENTICATION

Nastaví režim ověřování, který se použije při připojování k SQL Serveru. Další informace naleznete v tématu Použití Microsoft Entra ID.

Hodnota klíčového slova Hodnota atributu Description
SQL_AU_NONE (Výchozí) Nenastavil se. Kombinace jiných atributů určuje režim ověřování.
SqlPassword SQL_AU_PASSWORD Ověřování SQL Serveru pomocí uživatelského jména a hesla
ActiveDirectoryIntegrated SQL_AU_AD_INTEGRATED Integrované ověřování Microsoft Entra
ActiveDirectoryPassword SQL_AU_AD_PASSWORD Ověřování heslem Microsoft Entra
ActiveDirectoryInteractive SQL_AU_AD_INTERACTIVE Microsoft Entra Interactive Authentication.
ActiveDirectoryMsi SQL_AU_AD_MSI Ověřování spravovaných identit Microsoft Entra U identity přiřazené uživatelem je UID nastaveno na ID objektu identity uživatele.
ActiveDirectoryServicePrincipal SQL_AU_AD_SPA Ověřování instančního objektu Microsoft Entra UID je nastaveno na ID klienta instančního objektu. PwD je nastaven na tajný klíč klienta.
SQL_AU_RESET Neurovnaný. Přepíše nastavení dsN nebo připojovacího řetězce.

Poznámka:

Při použití Authentication klíčového slova nebo atributu explicitně zadejte Encrypt nastavení požadované hodnoty v připojovacím řetězci / DSN / atributu připojení. Podrobnosti najdete v tématu Použití klíčových slov připojovacího řetězce s nativním klientem SQL Serveru .

ColumnEncryption – SQL_COPT_SS_COLUMN_ENCRYPTION

Řídí transparentní šifrování sloupců (Always Encrypted). Další informace naleznete v tématu Použití funkce Always Encrypted (ODBC).

Hodnota klíčového slova Hodnota atributu Description
Enabled SQL_CE_ENABLED Povolí funkci Always Encrypted.
Disabled SQL_CE_DISABLED (Výchozí) Zakáže funkci Always Encrypted.
SQL_CE_RESULTSETONLY Povolí pouze dešifrování (výsledky a návratové hodnoty).

Zašifrovat

Určuje, jestli připojení používají šifrování TLS přes síť. Možné hodnoty jsou yes/mandatory(18,0+),optionalno/ (18,0+) a strict(18,0+). Výchozí hodnota je yes ve verzi 18.0+ a no v předchozích verzích.

Bez ohledu na nastavení Encryptjsou přihlašovací údaje serveru (uživatelské jméno a heslo) vždy zašifrované.

Encrypt, TrustServerCertificatea nastavení na straně Force Encryption serveru hrají roli v tom, zda jsou připojení šifrovaná přes síť. Následující tabulky ukazují účinek těchto nastavení.

Ovladač ODBC 18 a novější

Nastavení šifrování Důvěřovat certifikátu serveru Vynucené šifrování serveru Výsledek
Ne Ne Ne Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem nejsou šifrovaná.
Ne Ano Ne Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem nejsou šifrovaná.
Ano Ne Ne Zkontroluje se certifikát serveru.
Data odesílaná mezi klientem a serverem se šifrují.
Ano Ano Ne Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem se šifrují.
Ne Ne Ano Zkontroluje se certifikát serveru.
Data odesílaná mezi klientem a serverem se šifrují.
Ne Ano Ano Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem se šifrují.
Ano Ne Ano Zkontroluje se certifikát serveru.
Data odesílaná mezi klientem a serverem se šifrují.
Ano Ano Ano Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem se šifrují.
Striktní - - TrustServerCertificate se ignoruje. Zkontroluje se certifikát serveru.
Data odesílaná mezi klientem a serverem se šifrují.

Poznámka:

Striktní je k dispozici pouze pro servery, které podporují připojení TDS 8.0.

Ovladač ODBC 17 a starší

Nastavení šifrování Důvěřovat certifikátu serveru Vynucené šifrování serveru Výsledek
Ne Ne Ne Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem nejsou šifrovaná.
Ne Ano Ne Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem nejsou šifrovaná.
Ano Ne Ne Zkontroluje se certifikát serveru.
Data odesílaná mezi klientem a serverem se šifrují.
Ano Ano Ne Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem se šifrují.
Ne Ne Ano Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem se šifrují.
Ne Ano Ano Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem se šifrují.
Ano Ne Ano Zkontroluje se certifikát serveru.
Data odesílaná mezi klientem a serverem se šifrují.
Ano Ano Ano Certifikát serveru není zaškrtnutý.
Data odesílaná mezi klientem a serverem se šifrují.

TransparentNetworkIPResolution – SQL_COPT_SS_TNIR

Řídí funkci transparentního překladu IP adres sítě, která komunikuje s MultiSubnetFailover a umožňuje rychlejší pokusy o opětovné připojení. Další informace najdete v tématu Použití transparentního síťového překladu IP adres.

Hodnota klíčového slova Hodnota atributu Description
Enabled SQL_IS_ON (Výchozí) Umožňuje transparentní překlad IP adres sítě.
Disabled SQL_IS_OFF Zakáže transparentní překlad IP adres sítě.

UseFMTONLY

Řídí použití funkce SET FMTONLY pro metadata při připojování k SQL Serveru 2012 a novějšímu.

Hodnota klíčového slova Description
Ne (Výchozí) Pokud jsou k dispozici, použijte sp_describe_first_result_set pro metadata.
Ano Pro metadata použijte SET FMTONLY.

Replication

Určuje použití přihlášení replikace pro ovladač ODBC verze 17.8 a novější.

Hodnota klíčového slova Description
Ne (Výchozí) Přihlášení k replikaci se nepoužívá.
Ano Triggery s NOT FOR REPLICATION možností se neaktivují u připojení.

RetryExec

Konfigurovatelná logika opakování je dostupná od verze 18.1. Automaticky znovu spustí konkrétní volání funkce ODBC na základě konfigurovatelných podmínek. Tuto funkci lze povolit prostřednictvím připojovacího řetězce pomocí klíčového slova RetryExec spolu se seznamem pravidel opakování. Každé pravidlo opakování má tři dvojtečky oddělené komponenty: shodu chyb, zásadu opakování a shodu dotazu.

Shoda dotazu určuje pravidlo opakování, které se má použít pro dané spuštění, a odpovídá příchozímu textu příkazu (SQLExecDirect) nebo připravenému textu příkazu v objektu příkazu (SQLExecute). Pokud se shoduje více pravidel, použije se první odpovídající pravidlo v seznamu. Toto chování umožňuje, aby pravidla byla uvedena v pořadí zvýšení generality. Pokud žádné pravidlo neodpovídá, nepoužijí se žádné opakování.

Když spuštění způsobí chybu a existuje platné pravidlo opakování, použije se jeho shoda s chybou k určení, jestli se má provedení opakovat.

Hodnota klíčového slova RetryExec je seznam středník oddělených pravidel opakování.
RetryExec={rule1;rule2}

Pravidlo opakování je následující: <errormatch>:<retrypolicy>:<querymatch>

Shoda chyb: Čárkami oddělený seznam kódů chyb. Například zadáním 1000 2000 by byly kódy chyb, které chcete zopakovat.

Zásady opakování: Určuje zpoždění do dalšího opakování. Prvním parametrem bude počet opakování, zatímco druhý bude zpoždění. Například 3,10+7 by bylo 3 pokusy začínající na 10 a každé následující opakování by se zvýší o 7 sekund. Pokud není zadaná hodnota +7, každé následující opakování se exponenciálně zdvojnásobí.

Shoda dotazu: Určuje dotaz, se kterým se chcete shodovat. Pokud není zadáno nic, platí to pro všechny dotazy. Zadání příkazu SELECT by znamenalo pro všechny dotazy, které začínají výběrem.

Kombinace všech tří výše uvedených součástí pro použití v připojovacím řetězci by byla:

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

To by znamenalo: "V případě chyb 1000 a 2000 v dotazu, který začíná příkazem SELECT. Zkuste to dvakrát s počátečním zpožděním 10 sekund a přidejte 7 sekund pro každý následující pokus"

Examples

40501,40540:4,5

V případě chyb 40501 a 40540 zkuste opakovat až čtyřikrát, počáteční zpoždění 5 sekund a exponenciální zdvojnásobení mezi jednotlivými opakováními. Toto pravidlo platí pro všechny dotazy.

49919:2,10+:CREATE

V případě chyby 49919 v dotazu, který začíná příkazem CREATE, zkuste na začátku maximálně dvakrát, nejprve po 10 sekundách a pak 20 sekund.

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

V případě chyb 49918, 40501 a 10928 u dotazů začínajících příkazem SELECT c1 zkuste opakovat až pětkrát, při prvním opakování počkejte 10 sekund a potom se čekání zvýší o 5 sekund.

Výše uvedené tři pravidla je možné zadat společně v připojovacím řetězci následujícím způsobem:

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

Na konci se umístí nejobecnější pravidlo (shoda– vše), které umožní dvě konkrétnější pravidla, aby odpovídala příslušným dotazům.

Klientský certifikát

Určuje certifikát, který se má použít pro ověřování pomocí připojení zpětné smyčky (k dispozici pouze v SQL Serveru v Linuxu). Možnosti jsou následující:

Hodnota možnosti Description
sha1:<hash_value> Ovladač ODBC používá hodnotu hash SHA1 k vyhledání certifikátu ve Službě Windows Certificate Store.
subject:<subject> Ovladač ODBC používá k vyhledání certifikátu v úložišti certifikátů Systému Windows certifikát.
file:<file_location>[,password:<password>] Ovladač ODBC používá soubor certifikátu.

Pokud je certifikát ve formátu PFX a privátní klíč uvnitř certifikátu PFX je chráněný heslem, vyžaduje se klíčové slovo hesla. Pro certifikáty v PEM a DER formátuje atribut ClientKey je povinný.

ClientKey

Určuje umístění souboru privátního klíče pro PEM certifikáty určené DER atributem ClientCertificate. Formát:

Hodnota možnosti Description
file:<file_location>[,password:<password>] Určuje umístění souboru privátního klíče.

V případě, že je soubor privátního klíče chráněný heslem, je vyžadováno klíčové slovo hesla. Pokud heslo obsahuje nějaké , znaky, přidá se další , znak hned za každý z nich. Pokud je a,b,cnapříklad heslo , je řídicí heslo, které je a,,b,,cpřítomné v připojovacím řetězci .

Název hostiteleInCertificate

Určuje název hostitele, který se má v certifikátu serveru očekávat při vyjednání šifrování , pokud se liší od výchozí hodnoty odvozené od addr/address/Server. Možnost HostnameInCertificate se při použití možnosti ServerCertificate ignoruje.

IpAddressPreference

Tato možnost je dostupná od verze 18.1. Umožňuje uživateli zadat typ IP adresy, u které chce určit prioritu připojení. Možné možnosti jsou IpAddress= [ IPv4First | IPv6First | UsePlatformDefault]." UsePlatformDefault se připojuje k adresám v pořadí, v jakém jsou poskytovány systémovým voláním k překladu názvu serveru. Výchozí hodnota je IPv4First, která odpovídá chování v předchozích verzích.

ServerCertificate

Tato možnost je dostupná od verze 18.1. Tato možnost se dá použít v přísném režimu šifrování. Klíčové slovo ServerCertificate slouží k určení cesty k souboru certifikátu, který se má shodovat s certifikátem TLS/SSL SQL Serveru. Shoda se provádí místo standardního ověření certifikátu (vypršení platnosti, název hostitele, řetězec důvěryhodnosti atd.). Přijaté formáty certifikátů jsou PEM, DER a CER. Pokud je zadaný, certifikát SQL Serveru se zkontroluje tak, že zjistí, jestli zadaný certifikát Serveru je přesná shoda.

SQL_COPT_SS_ACCESS_TOKEN

Povolí použití přístupového tokenu Microsoft Entra k ověřování. Další informace naleznete v tématu Použití Microsoft Entra ID.

Hodnota atributu Description
NULA (Výchozí) Není zadán žádný přístupový token.
ACCESSTOKEN* Ukazatel na přístupový token

SQL_COPT_SS_CEKEYSTOREDATA

Komunikuje s načtenou knihovnou zprostředkovatele úložiště klíčů. Viz Ovládací prvky transparentního šifrování sloupců (Always Encrypted). Tento atribut nemá výchozí hodnotu. Další informace naleznete v tématu Vlastní zprostředkovatelé úložiště klíčů.

Hodnota atributu Description
CEKEYSTOREDATA * Komunikační datová struktura pro knihovnu zprostředkovatele úložiště klíčů

SQL_COPT_SS_CEKEYSTOREPROVIDER

Načte knihovnu zprostředkovatele úložiště klíčů pro Always Encrypted nebo načte názvy načtených knihoven zprostředkovatele úložiště klíčů. Další informace naleznete v tématu Vlastní zprostředkovatelé úložiště klíčů. Tento atribut nemá výchozí hodnotu.

Hodnota atributu Description
uklízečka* Cesta ke knihovně zprostředkovatele úložiště klíčů

SQL_COPT_SS_ENLIST_IN_XA

Aby bylo možné povolit transakce XA s procesorem transakcí kompatibilním s XA, musí aplikace volat SQLSetConnectAttr s SQL_COPT_SS_ENLIST_IN_XA a ukazatel na XACALLPARAM objekt. Tato možnost je podporovaná ve Windows (17.3+), Linuxu a macOS.

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

Chcete-li přidružit XA transakce pouze k připojení ODBC, zadejte hodnotu TRUE nebo FALSE s SQL_COPT_SS_ENLIST_IN_XA místo ukazatele při volání SQLSetConnectAttr. Toto nastavení je platné jenom ve Windows a nejde ho použít k určení operací XA prostřednictvím klientské aplikace.

SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, (SQLPOINTER)TRUE, 0);
Hodnota Description Platformy
XACALLPARAM object* Ukazatel na XACALLPARAM objekt. Windows, Linux a macOS
TRUE Přidruží transakci XA k připojení ODBC. Všechny související databázové aktivity se provádějí pod ochranou transakce XA. Windows
FALSE Přidružení transakce k připojení ODBC. Windows

Další informace o transakcích XA naleznete v tématu Použití transakcí XA.

SQL_COPT_SS_LONGASMAX

Umožňuje odesílání dlouhých dat typu na servery jako maximálních dat typu.

Hodnota atributu Description
Ne (Výchozí) Při odesílání nepřeveďte dlouhé typy na maximální počet typů.
Ano Při odesílání převede data z dlouhých typů na maximální počet typů.

SQL_COPT_SS_SPID

Načte ID relace připojení. Tato vlastnost je ekvivalentní proměnné T-SQL @@SPID s tím rozdílem, že nedojde k dodatečné odezvě na server.

Hodnota atributu Description
DWORD SPID