DSN és kapcsolati karakterlánc kulcsszavak és attribútumok

Ez a cikk felsorolja a kapcsolati stringek és DSN-ek kulcsszavait, valamint a kapcsolat attribútumokat SQLSetConnectAttr és SQLGetConnectAttr, amelyek elérhetők az ODBC Driver for SQL Server-ben.

Támogatott DSN és kapcsolati karakterlánc kulcsszavak és kapcsolati attribútumok

Az alábbi táblázat felsorolja az egyes platformok elérhető kulcsszavait és attribútumait (L: Linux; M: macOS; W: Windows). További részletekért válassza ki a kulcsszót vagy az attribútumot.

DSN / Kapcsolati karakterlánc kulcsszó Kapcsolatattribútum Plattform
Bővítő LMW
Cím LMW
AnsiNPW SQL_COPT_SS_ANSI_NPW LMW
APP LMW
ApplicationIntent SQL_COPT_SS_APPLICATION_INTENT LMW
AttachDBFileName SQL_COPT_SS_ATTACHDBFILENAME LMW
Authentication SQL_COPT_SS_AUTHENTICATION LMW
Automatikus fordítás SQL_COPT_SS_TRANSLATE LMW
ClientCertificate LMW
ClientKey LMW
ColumnEncryption SQL_COPT_SS_COLUMN_ENCRYPTION LMW
ConcatNullYieldsNull (v18.6 és későbbi verziók) SQL_COPT_SS_CONCAT_NULL LMW
ConnectRetryCount SQL_COPT_SS_CONNECT_RETRY_COUNT LMW
ConnectRetryInterval SQL_COPT_SS_CONNECT_RETRY_INTERVAL LMW
ConnectTimeOut (v18.7 és újabb verziók) SQL_ATTR_LOGIN_TIMEOUT LMW
Adatbázis SQL_ATTR_CURRENT_CATALOG LMW
Leírás LMW
Sofőr LMW
DSN LMW
Titkosít SQL_COPT_SS_ENCRYPT LMW
Failover_Partner SQL_COPT_SS_FAILOVER_PARTNER W
FailoverPartner (v18.7 és újabb verziók) SQL_COPT_SS_FAILOVER_PARTNER W
FeladatátvételpartnerSPN SQL_COPT_SS_FAILOVER_PARTNER_SPN W
FileDSN LMW
GetDataExtensions (v18.0 és újabb verziók) SQL_COPT_SS_GETDATA_EXTENSIONS LMW
HostnameInCertificate (v18.0 és újabb verziók) LMW
IpAddressPreference (v18.1 és újabb verziók) LMW
KeepAlive (v17.4 és későbbi verziók; DSN csak a 17.8 előtt) LMW
KeepAliveInterval (v17.4 és későbbi verziók; DSN csak a 17.8 előtt) LMW
KeystoreAuthentication LMW
KeystorePrincipalId LMW
KeystoreSecret LMW
Nyelv LMW
LongAsMax (v18.0 és későbbi verziók) SQL_COPT_SS_LONGASMAX LMW
MARS_Connection SQL_COPT_SS_MARS_ENABLED LMW
MultipleActiveResultSets (v18.7 és újabb verziók) 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ális LMW
Replication LMW
RetryExec (18.1 és későbbi verziók) LMW
SaveFile LMW
Kiszolgáló LMW
ServerCertificate (v18.1 és újabb verziók) 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
WorkstationID (v18.7 és újabb verziók) 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_CONNECTION_DEAD LMW
SQL_COPT_SS_DATACLASSIFICATION_VERSION (v17.4.2 és újabb verziók) 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 és újabb verziók) LMW
SQL_COPT_SS_TXN_ISOLATION LMW
SQL_COPT_SS_USER_DATA LMW
SQL_COPT_SS_WARN_ON_CP_ERROR LMW

Íme néhány kapcsolati karakterlánc kulcsszavai és kapcsolati attribútumok, amelyek nem dokumentáltak a Using Connection String Keywords with SQL Server Native Client, SQLSetConnectAttr és SQLSetConnectAttr függvényekben.

Description

Leírja az adatforrást.

SQL_COPT_SS_ANSI_OEM

Szabályozza az ADATOK ANSI-ről OEM-re való konvertálását.

Attribútumérték Description
SQL_AO_OFF (alapértelmezett) A fordítás nincs elkészülve.
SQL_AO_ON A fordítás kész.

SQL_COPT_SS_AUTOBEGINTXN

A 17.6-os verziótól kezdve, amikor az automatikus véglegesítés ki van kapcsolva, használja ezt a beállítást az automatikus BEGIN TRANSACTION vezérlésére ROLLBACK vagy COMMIT után.

Attribútumérték Description
SQL_AUTOBEGINTXN_ON (alapértelmezett) Automatikus a BEGIN TRANSACTION vagy ROLLBACKCOMMITután.
SQL_AUTOBEGINTXN_OFF Nincs automatikus BEGIN TRANSACTIONROLLBACK vagy COMMIT után.

SQL_COPT_SS_FALLBACK_CONNECT

Szabályozza az SQL Server tartalék kapcsolatok használatát. Ez a lehetőség már nem támogatott.

Attribútumérték Description
SQL_FB_OFF (alapértelmezett) Letiltja a tartalék kapcsolatokat.
SQL_FB_ON Lehetővé teszi a tartalék kapcsolatokat.

Új kapcsolati karakterlánc kulcsszavak és kapcsolati attribútumok

Kapcsolati string kulcsszó egységesítése

A 18.7-es verziótól kezdve az ODBC Driver for SQL Server további kapcsolati karakterlánc kulcsszavakat támogat, amelyek illeszkednek az Microsoft.Data.SqlClient adatszolgáltató tulajdonságneveihez. Ez a támogatás lehetővé teszi, hogy az alkalmazások ugyanazt a kapcsolati karakterláncot használják a Microsoft SQL Server adatszolgáltatóival és illesztőprogramjaival anélkül, hogy át kellene nevezniük a kulcsszavakat.

Kulcsszava-aliasok

Minden alias ugyanazt az opciót konfigurálja, mint az ODBC kulcsszó:

Alias Ekvivalens ODBC kulcsszavas Description
MultipleActiveResultSets MARS_Connection Több aktív eredménykészletet (MARS) kapcsol be vagy ki. Elfogadja Yes vagy No.
WorkstationID WSID A munkaállomás azonosítóját állítja be, ami általában az alkalmazás futtató számítógépének hálózati neve. HOST_NAME() ezt az értéket adja vissza.
FailoverPartner Failover_Partner Megadja az adatbázis-tükrözéshez használt failover partnerkiszolgálót. Csak Windows-on támogatott.

A sofőr az alábbi szabályokat alkalmazza ezekre az álnevekre:

  • Kis- és nagybetűkre nem érzékeny: Az illesztőprogram a kis- és nagybetűktől függetlenül egyezteti az álneveket. Például multipleactiveresultsets ugyanúgy viselkedik, mint MultipleActiveResultSets.
  • Az első előfordulás nyer: Egy alias és annak megfelelője ODBC kulcskulcs ugyanazt az opciót konfigurálja. Ha egy kapcsolati karakterlánc mindkettőt tartalmazza, az illesztőprogram az első értéket használja, és figyelmen kívül hagyja a következő értékeket az adott opciónál.
  • Csak bemenet: A sofőr aliasokat fogad el bemenetként. Amikor visszaadja a kimeneti kapcsolati karakterlánc-et, vagy a beállítást egy adatforrás nevéhez (DSN) írja meg, az egyenértékű ODBC kulcsszót használja.
  • Platform támogatás: A meghajtó támogatja MultipleActiveResultSets és WorkstationID Windows, Linux és macOS rendszereken is elérhető. A meghajtó csak Windowson támogatja a FailoverPartner és Failover_Partner elemeket.

ConnectTimeout kulcsszó

A ConnectTimeout kulcsszó ugyanazt a bejelentkezési idő-outot állítja be, mint a SQL_ATTR_LOGIN_TIMEOUT kapcsolat attribútum. Az alkalmazások a(z) SQLSetConnectAttr meghívása helyett a kapcsolati karakterláncban is megadhatják az időkorlátot.

Ha egy alkalmazás explicit módon beállítja SQL_ATTR_LOGIN_TIMEOUT a kapcsolati függvény meghívása előtt, a kapcsolat attribútuma elsőbbséget vesz fel a kapcsolati karakterlánc értékével ConnectTimeout szemben.

  • Egységek és alapértelmezett: Az érték megadja a bejelentkezés befejezésének másodperceinek számát. Az alapértelmezett érték másodperc 15 .
  • Nincs időkérés: A - 0 érték azt jelzi a sofőrönek, hogy várjon határozatlan időre.
  • Maximum és korlátozás: A maximális érték 65534. Ha negatív értéket ad meg, a 65534-nál nagyobb értéket, vagy a támogatott számtartományt meghaladó értéket ad meg, a meghajtó a(z) 65534 értéket használja. Ha az illesztőprogram korlátozza az értéket, és a kapcsolat egyébként sikeres, az illesztőprogram 01S02 értékkel tér vissza, SQL_SUCCESS_WITH_INFO (Az opció értéke megváltozott) figyelmeztetéssel.
  • Validálás: Az illesztőprogram üres és nem numerikus értékeket utasít el.
  • DSN támogatás: Windows-on az alkalmazások tárolhatják és ConnectTimeout visszanyerhetik az adatforrás nevet (DSN).
  • Platform támogatás: A meghajtó támogatja ConnectTimeout a Windows-t, Linuxot és macOS-t.

Példa

A következő kapcsolati karakterlánc az egységes kulcsszavakat használja:

Driver={ODBC Driver 18 for SQL Server};Server=tcp:myserver.database.windows.net;Database=mydb;UID=myuser;PWD=mypassword;MultipleActiveResultSets=Yes;WorkstationID=app-node-01;ConnectTimeout=30;

Az előző kapcsolati karakterlánc aliazsei ugyanazokat az opciókat konfigurálják, mint az eredeti ODBC kulcsszavak a következő kapcsolati karakterlánc-ben:

Driver={ODBC Driver 18 for SQL Server};Server=tcp:myserver.database.windows.net;Database=mydb;UID=myuser;PWD=mypassword;MARS_Connection=Yes;WSID=app-node-01;

Mindkét karakterlánc engedélyezi a MARS-t, és a munkaállomás azonosítóját app-node-01 értékre állítja. Az első karakterlánc is legfeljebb 30 másodpercig vár a bejelentkezés befejeződésére. ConnectTimeout korábbi verziókban nincs megfelelője. A bejelentkezési időkorlát korábbi verzióban történő beállításához hívd meg a(z) SQLSetConnectAttr elemet a(z) SQL_ATTR_LOGIN_TIMEOUT paraméterrel.

Hitelesítés – SQL_COPT_SS_AUTHENTICATION

Beállítja az SQL Serverhez való csatlakozáshoz használni kívánt hitelesítési módot. További információ: A Microsoft Entra ID használata az ODBC-illesztővel.

Kulcsszóérték Attribútumérték Description
SQL_AU_NONE (alapértelmezett) Nincs beállítva. Más attribútumok kombinációja határozza meg a hitelesítési módot.
SqlPassword SQL_AU_PASSWORD SQL Server-hitelesítés felhasználónévvel és jelszóval.
ActiveDirectoryIntegrated SQL_AU_AD_INTEGRATED Microsoft Entra integrált hitelesítés.
ActiveDirectoryInteractive SQL_AU_AD_INTERACTIVE Microsoft Entra interaktív hitelesítés.
ActiveDirectoryMsi SQL_AU_AD_MSI Microsoft Entra által felügyelt identitáshitelesítés. Felhasználó által hozzárendelt identitás esetén a(z) UID a felhasználói identitás objektumazonosítójára van beállítva.
ActiveDirectoryServicePrincipal SQL_AU_AD_SPA Microsoft Entra egyszerű szolgáltatásazonosítóval történő hitelesítés. UID a szolgáltatási alap kliensazonosítójára van beállítva. PWD az ügyfél titokára van állítva.
ActiveDirectoryPassword SQL_AU_AD_PASSWORD [ELAVULT] Microsoft Entra jelszóhitelesítés.

ActiveDirectoryPassword már nem ajánlott. További információ: ActiveDirectoryPassword elavult.
SQL_AU_RESET Nincs beállítva. Felülbírálja a DSN vagy a kapcsolati sztring beállításait.

Megjegyzés:

A(z) Authentication kulcsszó vagy attribútum használatakor a(z) Encrypt beállítást kifejezetten a kívánt értékre kell állítani a kapcsolati karakterláncban, a DSN-ben vagy a kapcsolati attribútumban. A részletekért lásd a Kapcsolati karakterlánc-kulcsszavak használata az SQL Server Native Clienttel című témakört.

ColumnEncryption – SQL_COPT_SS_COLUMN_ENCRYPTION

Transzparens oszloptitkosítást (Always Encrypted) vezérel. További információért lásd: Az Always Encrypted használata az ODBC-illesztővel az SQL Serverhez.

Kulcsszóérték Attribútumérték Description
Enabled SQL_CE_ENABLED Engedélyezi az Always Encryptedt.
Disabled (alapértelmezett) SQL_CE_DISABLED Letiltja az Always Encrypted funkciót.
SQL_CE_RESULTSETONLY Csak a visszafejtést engedélyezi (eredmények és visszaadott értékek).

ConcatNullYieldsNull - SQL_COPT_SS_CONCAT_NULL

Az NULL ISO szerinti kezelésének használatát szabályozza karakterláncok összefűzésekor. További információért lásd SET CONCAT_NULL_YIELDS_NULL.

Kulcsszóérték Attribútumérték Description
Yes (alapértelmezett) SQL_CN_ON NULL konkatenálása ezt eredményezi: NULL.
No SQL_CN_OFF NULL az összefűzés eredménye karakterlánc.

Titkosít

Megadja, hogy a kapcsolatok TLS-titkosítást használnak-e a hálózaton keresztül. A 17-es verzió elfogadja yes és no. A 18.0-s és újabb verziók a mandatory elemet a yes szinonimájaként, a optional elemet a no szinonimájaként, valamint a strict elemet is elfogadják, amely a TDS 8.0 titkosítást választja, és ennek nincs megfelelője a 17-es verzióban. Az alapértelmezett érték yes a 18.0-as verzióban és későbbi verziókban, valamint no a korábbi verziókban is elérhető.

A kiszolgáló bejelentkezési hitelesítő adatai (felhasználónév és jelszó) a beállítástól Encryptfüggetlenül mindig titkosítva vannak.

A Encrypt, TrustServerCertificate, és szerveroldali Force Encryption beállítások határozzák meg, hogy a kapcsolatok titkosítottak-e a hálózaton. Az alábbi táblázatok a beállítások hatását mutatják be.

ODBC Driver 18 és újabb

Titkosítási beállítás Megbízhatósági kiszolgáló tanúsítványa Kiszolgáló kényszerítő titkosítása Eredmény
Nem Nem Nem A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok nincsenek titkosítva.
Nem Igen Nem A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok nincsenek titkosítva.
Igen Nem Nem A kiszolgálótanúsítvány ellenőrizve van.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Igen Igen Nem A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Nem Nem Igen A kiszolgálótanúsítvány ellenőrizve van.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Nem Igen Igen A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Igen Nem Igen A kiszolgálótanúsítvány ellenőrizve van.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Igen Igen Igen A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Szigorú - - A TrustServerCertificate figyelmen kívül van hagyva. A kiszolgálótanúsítvány ellenőrizve van.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.

Megjegyzés:

Az Strict érték csak olyan szervereken érhető el, amelyek támogatják a TDS 8.0 kapcsolatokat.

ODBC Driver 17 és régebbi

Titkosítási beállítás Megbízhatósági kiszolgáló tanúsítványa Kiszolgáló kényszerítő titkosítása Eredmény
Nem Nem Nem A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok nincsenek titkosítva.
Nem Igen Nem A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok nincsenek titkosítva.
Igen Nem Nem A kiszolgálótanúsítvány ellenőrizve van.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Igen Igen Nem A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Nem Nem Igen A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Nem Igen Igen A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Igen Nem Igen A kiszolgálótanúsítvány ellenőrizve van.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.
Igen Igen Igen A kiszolgálótanúsítvány nincs ellenőrizve.
Az ügyfél és a kiszolgáló között küldött adatok titkosítva lesznek.

TransparentNetworkIPResolution – SQL_COPT_SS_TNIR

A Transparent Network IP Resolution funkciót szabályozza, amely az ODBC-illesztőprogram örökölt, több IP-címet kezelő tartalék mechanizmusa. Ez a beállítás nem befolyásolja a kapcsolódási sorrendet, amikor MultiSubnetFailover=Yes, amely az Azure SQL Database, az Azure SQL Managed Instance, a Microsoft Fabric SQL-adatbázisa, a rendelkezésre állási csoport figyelői és a feladatátvételi fürtpéldányok esetén ajánlott beállítás. További információkért lásd: Az átlátszó hálózati IP-feloldás használata az ODBC-illesztőprogrammal vagy Magas rendelkezésre állás és katasztrófa utáni helyreállítás.

Kulcsszóérték Attribútumérték Description
Enabled (alapértelmezett) SQL_IS_ON Lehetővé teszi az átlátszó hálózati IP felbontást.
Disabled SQL_IS_OFF Letiltja a transzparens hálózati IP-felbontást.

UseFMTONLY

A(z) SET FMTONLY metaadatokhoz való használatát szabályozza az SQL Server 2012-es és újabb verzióihoz való csatlakozáskor.

Kulcsszóérték Description
No (alapértelmezett) Használj sp_describe_first_result_set metaadatot, ha elérhető.
Yes Metaadatokhoz használható SET FMTONLY .

Replication

Megadja a replikációs bejelentkezés használatát az ODBC-illesztőprogram 17.8-s és újabb verziójában.

Kulcsszóérték Description
No (alapértelmezett) Replikációs bejelentkezést nem használnak.
Yes A beállítással rendelkező NOT FOR REPLICATION triggerek nem aktiválják a kapcsolatot.

RetryExec

A konfigurálható újrapróbálkozás logikája a 18.1-es verziótól érhető el. Konfigurálható feltételek alapján automatikusan újra végrehajt bizonyos ODBC-függvényhívásokat. Ezt a funkciót a kapcsolati karakterlánc segítségével engedélyezd a RetryExec kulcsszóval, valamint a retry szabályok listájával. Minden újrapróbálkozási szabály három, kettősponttal elválasztott összetevőből áll: hibaillesztésből, újrapróbálkozási házirendből és lekérdezésillesztésből.

A lekérdezési egyezés határozza meg, milyen újrapróbálkozási szabályt kell alkalmazni egy adott végrehajtáshoz. Ez megegyezik a bejövő parancsszöveggel (SQLExecDirect) vagy a kijelentés objektumban (SQLExecute) előkészített parancsszöveggel. Ha több szabály egyezik, a lista első párosítási szabályát használják. Ez a viselkedés lehetővé teszi, hogy a szabályokat általánosabb sorrendben soroljuk fel. Ha egyik szabály sem egyezik, nem történik újrapróbálkozás.

Amikor a végrehajtás hibát eredményez, és van egy alkalmazható újrapróbálkozási szabály, a hibaegyezés határozza meg, hogy újra meg kell-e próbálkozni.

A RetryExec kulcsszónak az értéke pontosvesszővel elválasztott újrapróbálkozási szabályok listája.
RetryExec={rule1;rule2}

Az újrapróbálkozások szabálya a következő: <errormatch>:<retrypolicy>:<querymatch>

  • Hibaegyezés: A hibakódok vesszővel elválasztott listája. Például a(z) 1000,2000 megadásával azokat a hibakódokat sorolja fel, amelyekkel újra szeretne próbálkozni.

  • Újrapróbálkozási szabályzat: Megadja a következő újrapróbálkozásig tartó késleltetést. Az első paraméter a visszalépések száma, a második pedig a késleltetés. Például a 3,10+7 azt jelenti, hogy három próbálkozás történik, 10 másodperctől indulva, és minden további újrapróbálkozás 7 másodperccel növekszik. Ha nem határozod +7meg , minden következő újrapróbálkozás exponenciálisan megduplázódik.

  • Query Match: Megadja a lekérdezést, amit párosítani szeretnél. Ha nem határozsz meg semmit, a szabály minden lekérdezésre vonatkozik. A meghatározás SELECT azt jelenti, hogy minden lekérdezés kezdődik SELECT.

Mindhárom komponens összevonása egy kapcsolati karakterlánc használatához:

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

Ez a szabály azt jelenti: Hibák 1000 esetén és 2000 olyan lekérdezés esetén, amely a -vel SELECTkezdődik, próbáld meg kétszer újra, kezdeti 10 másodperces késleltetéssel, és minden következő próbálkozáshoz hozzáadj 7 másodpercet.

Examples

40501,40540:4,5

A 40501 és 40540 hibák esetén legfeljebb négyszer próbálja újra, kezdetben 5 másodperces késleltetéssel, és az egyes újrapróbálkozások között exponenciálisan megduplázott késleltetéssel. Ez a szabály az összes lekérdezésre vonatkozik.

49919:2,10+:CREATE

A CREATE karakterlánccal kezdődő lekérdezésen előforduló 49919 hiba esetén próbálja újra legfeljebb kétszer, először 10 másodperc, majd 20 másodperc elteltével.

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

A 49918, 40501 és 10928 hibák esetén az SELECT c1 karakterekkel kezdődő lekérdezéseknél legfeljebb ötször próbáld újra, az első újrapróbálkozás előtt 10 másodpercet várva, majd ezt követően minden alkalommal 5 másodperccel növelve a várakozási időt.

Az előző három szabályt együtt határozzuk meg a kapcsolati karakterlánc-ben az alábbiakban:

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

A legáltalánosabb (mindenre illeszkedő) szabályt helyezze a végére, hogy az előtte lévő két konkrétabb szabály illeszkedhessen a hozzájuk tartozó lekérdezésekre.

Ügyfélbizonyítvány

Megadja a visszacsatolási kapcsolatokkal való hitelesítéshez használt tanúsítványt. Ez az opció csak SQL Server on Linux verzióban érhető el. A lehetőségek a következők:

Beállítás értéke Description
sha1:<hash_value> Az ODBC illezőprogram a SHA1 hash-t használja a tanúsítvány megtalálására a Windows Tanúsítvány Áruházban.
subject:<subject> Az ODBC illesztőprogram a tulajdonos mező alapján keresi meg a tanúsítványt a Windows tanúsítványtárban.
file:<file_location>[,password:<password>] Az ODBC-illesztő tanúsítványfájlt használ.

Ha a tanúsítvány formátumban PFX van, és a tanúsítványban lévő privát kulcs PFX jelszóval védett, adja meg a password kulcsszót. A tanúsítványok és PEMDER formátumok esetén add meg az ClientKey attribútumot.

ClientKey

Megadja a(z) ClientCertificate attribútumban megadott PEM vagy DER tanúsítványokhoz tartozó privát kulcs fájlhelyét. Formátum:

Beállítás értéke Description
file:<file_location>[,password:<password>] Megadja a privát kulcsfájl helyét.

Ha a privát kulcsfájl jelszóval védett, add fel a password kulcsszót. Ha a jelszó tartalmaz bármilyen , karaktert, azonnal adj hozzá egy plusz , karaktert minden karakter után. Például ha a jelszó a,b,c, akkor a kapcsolati karakterláncban szereplő escape-elt jelszó a,,b,,c.

Állomásnév a tanúsítványban

Megadja a kiszolgáló tanúsítványában elvárt gazdanevet, amikor a titkosítás egyeztetése megtörténik, ha az eltér a Addr, Address vagy Server alapján származtatott alapértelmezett értéktől. Az HostnameInCertificate opciót figyelmen kívül hagyják, amikor használod az ServerCertificate opciót.

IP-címre vonatkozó beállítás

A 18.1-es verziótól ezzel a beállítással adhatja meg, hogy a kapcsolatokhoz melyik IP-címtípust részesítse előnyben.

A lehetséges opciók: IPv4First, IPv6First, és UsePlatformDefault. UsePlatformDefault a rendszerhívás által megadott sorrendben csatlakozik a címekhez a kiszolgáló nevének feloldásához. Az alapértelmezett érték IPv4First, amely megfelel a korábbi verziók viselkedésének.

ServerCertificate

A 18.1-es verziótól kezdve használd ezt a lehetőséget szigorú titkosítási móddal. Használja a ServerCertificate kulcsszót, hogy megadja a tanúsítványfájlhoz vezető útot, amely illeszkedik az SQL Server TLS/SSL tanúsítvánnyal. A párosítás a szokásos tanúsítvány ellenőrzése helyett történik (lejárat, host név, trust chain stb.). Az elfogadott tanúsítványformátumok a következők: PEM, DERés CER. Ha ezt az opciót megadod, az SQL Server tanúsítványt ellenőrizzük azzal, hogy pontosan egyezik-e a ServerCertificate megadott tanúsítványsal.

SQL_COPT_SS_ACCESS_TOKEN

Használj Microsoft Entra hozzáférési tokent hitelesítéshez. További információ: A Microsoft Entra ID használata az ODBC-illesztővel.

Attribútumérték Description
NULL (alapértelmezett) Hozzáférési token nem biztosított.
ACCESSTOKEN* Mutató egy hozzáférési jogkivonatra.

SQL_COPT_SS_CEKEYSTOREDATA

Egy betöltött kulcstár-szolgáltatói könyvtárral kommunikál. Transzparens oszloptitkosítást (Always Encrypted) vezérel. Ez az attribútum nem rendelkezik alapértelmezett értékkel. További információ: Egyéni kulcstár-szolgáltatók.

Attribútumérték Description
CEKEYSTOREDATA * Kommunikációs adatstruktúra a kulcstárszolgáltatói könyvtárhoz

SQL_COPT_SS_CEKEYSTOREPROVIDER

Betölti az Always Encrypted kulcstár-szolgáltatói kódtárát, vagy lekéri a betöltött kulcstár-szolgáltatói kódtárak nevét. További információ: Egyéni kulcstár-szolgáltatók. Ez az attribútum nem rendelkezik alapértelmezett értékkel.

Attribútumérték Description
char * A kulcstárszolgáltató könyvtár elérési útja

SQL_COPT_SS_ENLIST_IN_XA

Az XA tranzakciók XA-kompatibilis tranzakciófeldolgozóval (TP) történő engedélyezéséhez az alkalmazásnak meg kell hívnia a SQLSetConnectAttr elemet a(z) SQL_COPT_SS_ENLIST_IN_XA értékkel és egy XACALLPARAM objektumra mutató mutatóval. Ez az opció támogatott Windows (17.3 és újabb verziók), Linux és macOS verziókon.

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

Ha egy XA-tranzakciót kizárólag egy ODBC-kapcsolathoz szeretne társítani, a SQLSetConnectAttr meghívásakor a mutató helyett adja meg a TRUE vagy a FALSE elemet a SQL_COPT_SS_ENLIST_IN_XA-vel. Ez a beállítás csak Windows rendszeren érvényes, és nem használható XA-műveletek ügyfélalkalmazáson keresztüli megadására.

SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, (SQLPOINTER)TRUE, 0);
Érték Description Platformok
XACALLPARAM tárgy* A(z) XACALLPARAM objektumra mutató mutató. Windows, Linux és macOS
TRUE Az XA-tranzakció társítása az ODBC-kapcsolattal. Az összes kapcsolódó adatbázis-tevékenység az XA-tranzakció védelme alatt történik. Windows
FALSE Megszünteti a tranzakció társítását az ODBC-kapcsolattal. Windows

További információ az XA-tranzakciókról: XA-tranzakciók használata.

SQL_COPT_SS_LONGASMAX

Hosszú adattípusokat küld szervereknek maximális adattípusokként.

Attribútumérték Description
No (alapértelmezett) Ne konvertálj hosszú típusokat maximális típusokra küldéskor.
Yes Konvertáld az adatokat hosszú típusokról maximális típusokra küldéskor.

SQL_COPT_SS_SPID

Lekéri a kapcsolat munkamenet-azonosítóját. Ez a tulajdonság egyenértékű a T-SQL @@SPID változóval, azzal a különbséggel, hogy nem jár további oda-visszaút a kiszolgálóval.

Attribútumérték Description
DWORD SPID