Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek uvádí klíčová slova pro spojovací řetězce a DSN a atributy spojení pro SQLSetConnectAttr a SQLGetConnectAttr, které jsou dostupné v ODBC ovladači pro SQL Server.
Podporovaná klíčová slova DSN a 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.
Zde jsou některá klíčová slova a atributy připojovací řetězec, které nejsou zdokumentovány v Using Connection String Keywords with SQL Server Native Client, SQLSetConnectAttr a SQLSetConnectAttr Function.
Description
Popisuje zdroj 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
Od verze 17.6, kdy je automatické commit vypnuté, použijte tuto možnost k ovládání automatického BEGIN TRANSACTION po ROLLBACK nebo COMMIT.
| Hodnota atributu | Description |
|---|---|
SQL_AUTOBEGINTXN_ON (výchozí) |
Automaticky BEGIN TRANSACTION po ROLLBACK nebo COMMIT. |
SQL_AUTOBEGINTXN_OFF |
Žádné automatické BEGIN TRANSACTION po ROLLBACK nebo COMMIT. |
SQL_COPT_SS_FALLBACK_CONNECT
Řídí použití záložních připojení SQL Server. Tato možnost již není podporována.
| Hodnota atributu | Description |
|---|---|
SQL_FB_OFF (výchozí) |
Vypíná záložní připojení. |
SQL_FB_ON |
Umožňuje záložní připojení. |
Nová klíčová slova a atributy připojovacího řetězce
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í rozhraní Microsoft Entra ID s ovladačem ODBC.
| 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 |
ActiveDirectoryInteractive |
SQL_AU_AD_INTERACTIVE |
Interaktivní ověřování Microsoft Entra. |
ActiveDirectoryMsi |
SQL_AU_AD_MSI |
Ověřování pomocí spravované identity Microsoft Entra Pro uživatelem přiřazenou identitu je UID nastavena na ID objektu uživatelské identity. |
ActiveDirectoryServicePrincipal |
SQL_AU_AD_SPA |
Ověřování pomocí instančního objektu Microsoft Entra
UID je nastaveno na ID klienta principálu služby.
PWD je nastaveno na klientské tajemství. |
ActiveDirectoryPassword |
SQL_AU_AD_PASSWORD |
[ZASTARALÉ] Ověřování heslem Microsoft EntraActiveDirectoryPassword je zastaralý. Další informace naleznete v tématu ActiveDirectoryPassword je zastaralé. |
SQL_AU_RESET |
Nenastaveno Má přednost před jakýmkoli nastavením DSN nebo připojovacího řetězce. |
Poznámka:
Při použití Authentication klíčového slova nebo atributu explicitně nastavte Encrypt požadovanou hodnotu v připojovací řetězec, DSN nebo atributu spojení. 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 s ovladačem ODBC pro SQL Server.
| Hodnota klíčového slova | Hodnota atributu | Description |
|---|---|---|
Enabled |
SQL_CE_ENABLED |
Povolí funkci Always Encrypted. |
Disabled (výchozí) |
SQL_CE_DISABLED |
Zakáže funkci Always Encrypted. |
SQL_CE_RESULTSETONLY |
Povolí pouze dešifrování (výsledky a návratové hodnoty). |
ConcatNullYieldsNull - SQL_COPT_SS_CONCAT_NULL
Určuje použití zpracování NULL podle normy ISO při spojování řetězců. Další informace najdete na webu SET CONCAT_NULL_YIELDS_NULL.
| Hodnota klíčového slova | Hodnota atributu | Description |
|---|---|---|
Yes (výchozí) |
SQL_CN_ON |
NULL Konkatenace dává NULL. |
No |
SQL_CN_OFF |
NULL Konkatenace dává strunu. |
Zašifrovat
Určuje, jestli připojení používají šifrování TLS přes síť. Možné hodnoty jsou yes/mandatory(18,0+),no/optional (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é.
Nastavení Encrypt, TrustServerCertificate, a Force Encryption serveru určují, zda jsou připojení šifrována 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í | - | - | Vlastnost TrustServerCertificate je ignorována. Zkontroluje se certifikát serveru.Data odesílaná mezi klientem a serverem se šifrují. |
Poznámka:
Tato Strict hodnota je dostupná pouze na serverech, které podporují připojení TDS 8.0.
ODBC Driver 17 a starší verze
| 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
Ovládá funkci Transparent Network IP Resolution, což je záložní verze pro více IP pro ovladač ODBC. Toto nastavení neovlivňuje pořadí připojování, pokud je nastavena možnost MultiSubnetFailover=Yes, což je doporučené nastavení pro Azure SQL Database, Azure SQL Managed Instance, databázi SQL v Microsoft Fabric, naslouchací procesy skupin dostupnosti a instance clusteru s podporou převzetí služeb při selhání. Pro více informací viz Použití transparentního síťového IP rozlišení s ovladačem ODBC nebo Vysoká dostupnost a obnova po havárii.
| Hodnota klíčového slova | Hodnota atributu | Description |
|---|---|---|
Enabled (výchozí) |
SQL_IS_ON |
Umožňuje transparentní rozlišení IP adres. |
Disabled |
SQL_IS_OFF |
Zakáže transparentní síťové rozlišení IP adres. |
UseFMTONLY
Řídí použití SET FMTONLY metadat při připojování k SQL Server 2012 a novějším.
| Hodnota klíčového slova | Description |
|---|---|
No (výchozí) |
Použijte sp_describe_first_result_set pro metadata, pokud jsou k dispozici. |
Yes |
Používá se SET FMTONLY pro metadata. |
Replication
Určuje se použití přihlášení pro replikaci v ovladači ODBC verze 17.8 a novějších.
| Hodnota klíčového slova | Description |
|---|---|
No (výchozí) |
Přihlášení k replikaci se nepoužívá. |
Yes |
Spouštěče s volbou NOT FOR REPLICATION se při připojení nespustí. |
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 povolte v připojovacím řetězci s použitím klíčového slova RetryExec spolu se seznamem pravidel opakování. Každé pravidlo opakovaného pokusu má tři komponenty oddělené dvojtečkou: shodu chyb, politiku opakování a shodu dotazu.
Shoda dotazu určuje, které pravidlo opakování se má použít pro dané spuštění. 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í pravidlo shody v seznamu. Toto chování vám umožňuje seřadit pravidla v pořadí s rostoucí obecností. Pokud se žádné pravidlo neshoduje, neaplikuje se žádné opakování.
Když vykonání způsobí chybu a existuje platné pravidlo pro opakování, jeho shoda chyb rozhoduje, zda by mělo být vykonání zopakováno.
Hodnota RetryExec klíčového slova je seznam pravidel pro opakované pokusy oddělené středníky.
RetryExec={rule1;rule2}
Pravidlo opakování je následující: <errormatch>:<retrypolicy>:<querymatch>
Shoda chyb: Seznam chybových kódů oddělených čárkou. Například při
1000,2000specifikaci se zobrazí chybové kódy, které chcete zkusit znovu.Politika opakování: Specifikuje zpoždění do dalšího pokusu. Prvním parametrem je počet opakovaných pokusů a druhým parametrem je zpoždění. Například znamená
3,10+7tři pokusy začínající na 10 a každé další opakování se prodlužuje o 7 sekund. Pokud nespecifikujete+7, každý další pokus se exponenciálně zdvojnásobí.Query Match: Specifikuje, který dotaz chcete spárovat. Pokud nic nespecifikujete, pravidlo platí pro všechny dotazy. Specifikace
SELECTznamená všechny dotazy začínající naSELECT.
Kombinace všech tří komponent pro použití v připojovací řetězec:
RetryExec={1000,2000:3,10+7:SELECT}
Toto pravidlo znamená: Pro chyby 1000 a 2000 u dotazu začínajícího na SELECT, zkuste dvakrát s počátečním zpožděním 10 sekund a přičte 7 sekund pro každý další pokus.
Examples
40501,40540:4,5
Pro chyby 40501 a 40540, zkuste to znovu až čtyřikrát, s počátečním zpožděním 5 sekund a exponenciálním zdvojnásobením mezi jednotlivými pokusy. Toto pravidlo platí pro všechny dotazy.
49919:2,10+:CREATE
Pro chybu 49919 u dotazu, který začíná na CREATE, zkuste to nejvýše dvakrát, nejprve po 10 sekundách a poté po 20 sekundách.
49918,40501,10928:5,10+5:SELECT c1
Pro chyby 49918, 40501, a 10928 u dotazů začínajících na SELECT c1, zkuste to zopakovat až pětkrát, při prvním pokusu počkejte 10 sekund a poté prodloužíte čekací dobu o 5 sekund.
Zadejte předchozí tři pravidla společně v připojovací řetězec následujícím způsobem:
RetryExec={49918,40501,10928:5,10+5:SELECT c1;49919:2,10+:CREATE;40501,40540:4,5}
Nejobecnější pravidlo (match-all) umístěte na konec, aby dvě konkrétnější pravidla, která mu předcházejí, mohla odpovídat svým příslušným dotazům.
Klientský certifikát
Specifikuje certifikát pro autentizaci s loopback připojením. Tato možnost je dostupná pouze v SQL Server on Linux. Možnosti jsou následující:
| Hodnota možnosti | Description |
|---|---|
sha1:<hash_value> |
Ovladač ODBC používá hash SHA1 k nalezení certifikátu ve Windows Certificate Store. |
subject:<subject> |
Ovladač ODBC používá subjekt k nalezení certifikátu ve Windows Certificate Store. |
file:<file_location>[,password:<password>] |
Ovladač ODBC používá soubor certifikátu. |
Pokud je certifikát ve formátu PFX a soukromý klíč uvnitř PFX je chráněn heslem, zahrňte klíčové slovo password . Pro certifikáty PEM a DER formáty uveďte ClientKey atribut.
ClientKey
Specifikuje umístění souboru soukromého klíče pro PEM nebo DER certifikáty specifikované atributem ClientCertificate . Formát:
| Hodnota možnosti | Description |
|---|---|
file:<file_location>[,password:<password>] |
Specifikuje umístění souboru soukromého klíče. |
Pokud je soubor s privátním klíčem chráněn heslem, zahrňte klíčové slovo password . Pokud heslo obsahuje jakékoli znaky ,, přidejte bezprostředně za každý z nich další znak ,. Například pokud je heslo a,b,c, únikové heslo v připojovací řetězec je .a,,b,,c
Název hostitele v certifikátu
Specifikuje hostitelské jméno, které se očekává v certifikátu serveru při vyjednávání šifrování , pokud se liší od výchozí hodnoty odvozené z Addr, Address, nebo Server. Možnost HostnameInCertificate je při použití ServerCertificate ignorována.
IpAddressPreference
Od verze 18.1 použijte tuto možnost k určení typu IP adresy, kterou chcete upřednostnit pro připojení.
Možné možnosti jsou IPv4First, IPv6First, a UsePlatformDefault.
UsePlatformDefault připojuje se k adresám v pořadí, v jakém je poskytuje systémové volání pro vyřešení názvu serveru. Výchozí hodnota je IPv4First, což odpovídá chování v předchozích verzích.
ServerCertificate
Od verze 18.1 používejte tuto možnost v režimu přísného šifrování. Použijte klíčové slovo ServerCertificate k určení cesty k certifikátovému souboru, který se shoduje s certifikátem SQL Server TLS/SSL. Porovnání se provádí místo standardní validace certifikátu (doba platnosti, název hostitele, řetězec důvěry atd.). Přijaté formáty certifikátů jsou PEM, DERa CER. Pokud tuto možnost zadáte, certifikát SQL Server se zkontroluje tak, že se ověří, zda poskytnutý údaj ServerCertificate přesně odpovídá.
SQL_COPT_SS_ACCESS_TOKEN
Pro autentizaci použijte přístupový token Microsoft Entra. Další informace naleznete v tématu Použití rozhraní Microsoft Entra ID s ovladačem ODBC.
| Hodnota atributu | Description |
|---|---|
NULL (výchozí) |
Není poskytnut žá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íčů. Řídí transparentní šifrování sloupců (Always Encrypted). Tento atribut nemá výchozí hodnotu. Další informace viz Vlastní poskytovatelé úložiště klíčů.
| Hodnota atributu | Description |
|---|---|
CEKEYSTOREDATA * |
Komunikační datová struktura pro knihovnu poskytovatele úložiště klíčů |
SQL_COPT_SS_CEKEYSTOREPROVIDER
Načte knihovnu zprostředkovatele úložiště klíčů pro Always Encrypted nebo získá názvy načtených knihoven zprostředkovatelů úložiště klíčů. Další informace viz Vlastní poskytovatelé úložiště klíčů. Tento atribut nemá výchozí hodnotu.
| Hodnota atributu | Description |
|---|---|
char * |
Cesta ke knihovně poskytovatele úložiště klíčů |
SQL_COPT_SS_ENLIST_IN_XA
Aby bylo možné povolit transakce XA s transakčním procesorem (TP) kompatibilním s XA, musí aplikace zavolat SQLSetConnectAttr s SQL_COPT_SS_ENLIST_IN_XA a ukazatelem na objekt XACALLPARAM. 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 transakci XA pouze k připojení ODBC, zadejte při volání SQLSetConnectAttr místo ukazatele TRUE nebo FALSE s SQL_COPT_SS_ENLIST_IN_XA. 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 objekt* |
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 |
Zruší 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
Posílá dlouhé datové typy serverům jako maximální datové typy.
| Hodnota atributu | Description |
|---|---|
No (výchozí) |
Při posílání nepřevádějte dlouhé typy na maximální typy. |
Yes |
Při odesílání převádějte data z dlouhých typů na maximální typy. |
SQL_COPT_SS_SPID
Vrátí ID relace tohoto připojení. Tato vlastnost odpovídá proměnné T-SQL @@SPID, s tím rozdílem, že nevyžaduje další komunikaci se serverem.
| Hodnota atributu | Description |
|---|---|
DWORD |
SPID |