Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze pagina bevat de trefwoorden voor verbindingsreeksen en DSN's en verbindingskenmerken voor SQLSetConnectAttr en SQLGetConnectAttr, beschikbaar in het ODBC-stuurprogramma voor SQL Server.
Ondersteunde DSN-/verbindingsreekstrefwoorden en verbindingskenmerken
De volgende tabel bevat de beschikbare trefwoorden en de kenmerken voor elk platform (L: Linux; M: macOS; W: Windows). Selecteer het trefwoord of kenmerk voor meer informatie.
Hier volgen enkele trefwoorden voor verbindingsreeksen en verbindingskenmerken, die niet worden beschreven in Het gebruik van trefwoorden voor verbindingsreeksen met SQL Server Native Client, SQLSetConnectAttr en de functie SQLSetConnectAttr.
Description
Wordt gebruikt om de gegevensbron te beschrijven.
SQL_COPT_SS_ANSI_OEM
Hiermee bepaalt u ANSI naar OEM-conversie van gegevens.
| Kenmerkwaarde | Description |
|---|---|
| SQL_AO_OFF | (Standaard) Vertaling is niet voltooid. |
| SQL_AO_ON | Vertaling is voltooid. |
SQL_COPT_SS_AUTOBEGINTXN
Versie 17.6+ Terwijl autocommit is uitgeschakeld, bepaalt u automatische BEGIN TRANSACTION na TERUGDRAAIEN of DOORVOERen.
| Kenmerkwaarde | Description |
|---|---|
| SQL_AUTOBEGINTXN_ON | (Standaard) Automatische BEGINTRANSACTIE na TERUGDRAAIEN of DOORVOEREN. |
| SQL_AUTOBEGINTXN_OFF | Geen automatische BEGINTRANSACTIE na TERUGDRAAIEN of DOORVOEREN. |
SQL_COPT_SS_FALLBACK_CONNECT
Hiermee bepaalt u het gebruik van SQL Server-terugvalverbindingen. Deze wordt niet meer ondersteund.
| Kenmerkwaarde | Description |
|---|---|
| SQL_FB_OFF | (Standaard) Terugvalverbindingen zijn uitgeschakeld. |
| SQL_FB_ON | Terugvalverbindingen zijn ingeschakeld. |
Nieuwe trefwoorden voor verbindingsreeksen en verbindingskenmerken
Verificatie - SQL_COPT_SS_AUTHENTICATION
Hiermee stelt u de verificatiemodus in die moet worden gebruikt bij het maken van verbinding met SQL Server. Zie Microsoft Entra-id gebruiken voor meer informatie.
| Trefwoordwaarde | Kenmerkwaarde | Description |
|---|---|---|
| SQL_AU_NONE | (Standaard) Niet ingesteld. De combinatie van andere kenmerken bepaalt de verificatiemodus. | |
| SqlPassword | SQL_AU_PASSWORD | SQL Server-verificatie met gebruikersnaam en wachtwoord. |
| ActiveDirectoryIntegrated | SQL_AU_AD_INTEGRATED | Geïntegreerde Microsoft Entra-verificatie. |
| ActiveDirectoryPassword | SQL_AU_AD_PASSWORD | Microsoft Entra-wachtwoordverificatie. |
| ActiveDirectoryInteractive | SQL_AU_AD_INTERACTIVE | Interactieve Microsoft Entra-verificatie. |
| ActiveDirectoryMsi | SQL_AU_AD_MSI | Door Microsoft Entra beheerde identiteitsverificatie. Voor door de gebruiker toegewezen identiteit wordt UID ingesteld op de object-id van de gebruikersidentiteit. |
| ActiveDirectoryServicePrincipal | SQL_AU_AD_SPA | Verificatie van microsoft Entra-service-principal. UID is ingesteld op de client-id van de service-principal. PWD is ingesteld op het clientgeheim. |
| SQL_AU_RESET | Unset. Overschrijft een DSN- of verbindingsreeksinstelling. |
Opmerking
Wanneer u trefwoord of kenmerk gebruikt Authentication , geeft u Encrypt expliciet de instelling op voor de gewenste waarde in de verbindingsreeks/DSN/verbindingskenmerk. Raadpleeg Trefwoorden voor verbindingsreeksen gebruiken met SQL Server Native Client voor meer informatie.
ColumnEncryption - SQL_COPT_SS_COLUMN_ENCRYPTION
Besturingselementen voor transparante kolomversleuteling (Always Encrypted). Zie Always Encrypted (ODBC) gebruiken voor meer informatie.
| Trefwoordwaarde | Kenmerkwaarde | Description |
|---|---|---|
| Ingeschakeld | SQL_CE_ENABLED | Hiermee schakelt u Always Encrypted in. |
| Disabled | SQL_CE_DISABLED | (Standaard) Schakelt Always Encrypted uit. |
| SQL_CE_RESULTSETONLY | Hiermee schakelt u alleen ontsleuteling in (resultaten en retourwaarden). |
Coderen
Hiermee geeft u op of verbindingen TLS-versleuteling via het netwerk gebruiken. Mogelijke waarden zijn yes/mandatory(18,0+),optionalno/ (18,0+) en strict(18,0+). De standaardwaarde is yes in versie 18.0+ en no in eerdere versies.
Ongeacht de instelling voor Encrypt, worden de aanmeldingsreferenties van de server (gebruikersnaam en wachtwoord) altijd versleuteld.
Encrypt, TrustServerCertificateen instellingen aan de serverzijde Force Encryption spelen een rol bij het versleutelen van verbindingen via het netwerk. In de volgende tabellen ziet u het effect van deze instellingen.
ODBC-stuurprogramma 18 en hoger
| Instelling versleutelen | Vertrouwensservercertificaat | Versleuteling van server forceren | resultaat |
|---|---|---|---|
| Nee. | Nee. | Nee. | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden niet versleuteld. |
| Nee. | Yes | Nee. | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden niet versleuteld. |
| Yes | Nee. | Nee. | Servercertificaat is gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Yes | Nee. | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Nee. | Nee. | Yes | Servercertificaat is gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Nee. | Yes | Yes | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Nee. | Yes | Servercertificaat is gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Yes | Yes | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Streng | - | - | TrustServerCertificate wordt genegeerd. Servercertificaat is gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
Opmerking
Strikt is alleen beschikbaar voor servers die TDS 8.0-verbindingen ondersteunen.
ODBC-stuurprogramma 17 en ouder
| Instelling versleutelen | Vertrouwensservercertificaat | Versleuteling van server forceren | resultaat |
|---|---|---|---|
| Nee. | Nee. | Nee. | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden niet versleuteld. |
| Nee. | Yes | Nee. | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden niet versleuteld. |
| Yes | Nee. | Nee. | Servercertificaat is gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Yes | Nee. | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Nee. | Nee. | Yes | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Nee. | Yes | Yes | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Nee. | Yes | Servercertificaat is gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Yes | Yes | Servercertificaat is niet ingeschakeld. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
TransparentNetworkIPResolution - SQL_COPT_SS_TNIR
Hiermee bepaalt u de functie Transparante netwerk-IP-resolutie, die communiceert met MultiSubnetFailover om sneller opnieuw verbinding te maken. Zie Transparent Network IP Resolution gebruiken voor meer informatie.
| Trefwoordwaarde | Kenmerkwaarde | Description |
|---|---|---|
| Ingeschakeld | SQL_IS_ON | (Standaard) Hiermee schakelt u transparante IP-resolutie van het netwerk in. |
| Disabled | SQL_IS_OFF | Schakelt transparante IP-resolutie van het netwerk uit. |
UseFMTONLY
Hiermee bepaalt u het gebruik van SET FMTONLY voor metagegevens wanneer u verbinding maakt met SQL Server 2012 en hoger.
| Trefwoordwaarde | Description |
|---|---|
| Nee. | (Standaard) Gebruik sp_describe_first_result_set voor metagegevens, indien beschikbaar. |
| Yes | GEBRUIK SET FMTONLY voor metagegevens. |
Replication
Hiermee geeft u het gebruik van een replicatieaanmelding op ODBC-stuurprogrammaversie 17.8 en hoger.
| Trefwoordwaarde | Description |
|---|---|
| Nee. | (Standaard) Replicatieaanmelding wordt niet gebruikt. |
| Yes | Triggers met de NOT FOR REPLICATION optie worden niet geactiveerd op de verbinding. |
RetryExec
Configureerbare logica voor opnieuw proberen is beschikbaar vanaf versie 18.1. Er worden automatisch specifieke ODBC-functieoproepen opnieuw uitgevoerd op basis van configureerbare voorwaarden. Deze functie kan worden ingeschakeld via de verbindingsreeks met behulp van het trefwoord RetryExec , samen met een lijst met regels voor opnieuw proberen. Elke regel voor opnieuw proberen heeft drie door dubbele punten gescheiden onderdelen: een foutovereenkomst, beleid voor opnieuw proberen en een queryovereenkomst.
De queryovereenkomst bepaalt de regel voor opnieuw proberen die moet worden gebruikt voor een bepaalde uitvoering en komt overeen met de binnenkomende opdrachttekst (SQLExecDirect) of de voorbereide opdrachttekst in het instructieobject (SQLExecute). Als meer dan één regel overeenkomt, wordt de eerste overeenkomende regel in de lijst gebruikt. Met dit gedrag kunnen regels worden vermeld in volgorde van toenemende algemeenheid. Als er geen regel overeenkomt, wordt er geen nieuwe poging toegepast.
Wanneer de uitvoering resulteert in een fout en er een toepasselijke regel voor opnieuw proberen is, wordt de bijbehorende foutovereenkomst gebruikt om te bepalen of de uitvoering opnieuw moet worden geprobeerd.
De waarde van het trefwoord RetryExec is een lijst met door puntkomma's gescheiden regels voor opnieuw proberen.
RetryExec={rule1;rule2}
Een regel voor opnieuw proberen is als volgt: <errormatch>:<retrypolicy>:<querymatch>
Foutovereenkomst: Een door komma's gescheiden lijst met foutcodes. Als u bijvoorbeeld 1000.2000 opgeeft, zijn dit de foutcodes die u opnieuw wilt proberen.
Beleid voor opnieuw proberen: Hiermee geeft u de vertraging tot de volgende nieuwe poging. De eerste parameter zou het aantal nieuwe pogingen zijn, terwijl de tweede de vertraging zou zijn. Bijvoorbeeld : 3.10+7 zou drie pogingen zijn die beginnen bij 10 en elke volgende nieuwe poging zou met 7 seconden oplopen. Als +7 niet is opgegeven, wordt elke volgende nieuwe poging exponentieel verdubbeld.
Queryovereenkomst: Hiermee geeft u de query waarmee u wilt overeenkomen. Als er niets is opgegeven, is dit van toepassing op alle query's. Het opgeven van SELECT betekent voor alle query's die beginnen met selecteren.
Het combineren van alle drie de bovenstaande onderdelen voor gebruik in een verbindingsreeks is:
RetryExec={1000,2000:3,10+7:SELECT}
Dit betekent: 'Voor fouten 1000 en 2000, voor een query die begint met SELECT. Probeer het twee keer opnieuw met een initiële vertraging van 10 seconden en voeg 7 seconden toe voor elke volgende poging"
Examples
40501,40540:4,5
Voor fouten 40501 en 40540 probeert u het maximaal vier keer opnieuw, met een initiële vertraging van 5 seconden en exponentieel verdubbelen tussen elke nieuwe poging. Deze regel is van toepassing op alle query's.
49919:2,10+:CREATE
Voor fout 49919 voor een query die begint met CREATE, probeert u het maximaal twee keer, in eerste instantie na 10 seconden en vervolgens 20 seconden.
49918,40501,10928:5,10+5:SELECT c1
Voor fouten, 49918, 40501 en 10928 voor query's die beginnen met SELECT c1, probeert u het maximaal vijf keer, wacht u 10 seconden op de eerste nieuwe poging en verhoogt u de wachttijd met 5 seconden daarna.
De bovenstaande drie regels kunnen als volgt worden opgegeven in de verbindingsreeks:
RetryExec={49918,40501,10928:5,10+5:SELECT c1;49919:2,10+:CREATE;40501,40540:4,5}
De meest algemene regel (match-all) wordt aan het einde geplaatst om de twee specifiekere regels toe te staan voordat deze overeenkomt met hun respectieve query's.
Klantcertificaat
Hiermee geeft u het certificaat dat moet worden gebruikt voor verificatie met loopback-verbindingen (alleen beschikbaar in SQL Server op Linux). De opties zijn:
| Optiewaarde | Description |
|---|---|
sha1:<hash_value> |
Het ODBC-stuurprogramma maakt gebruik van SHA1-hash om een certificaat te vinden in het Windows-certificaatarchief |
subject:<subject> |
Het ODBC-stuurprogramma gebruikt om een certificaat te zoeken in het Windows-certificaatarchief |
file:<file_location>[,password:<password>] |
Het ODBC-stuurprogramma maakt gebruik van een certificaatbestand. |
Als het certificaat de PFX-indeling heeft en de persoonlijke sleutel in het PFX-certificaat met een wachtwoord is beveiligd, is het wachtwoordwoord vereist. Voor certificaten in PEM- en DER-indelingen is het clientsleutelkenmerk vereist
ClientKey
Hiermee geeft u een bestandslocatie van de persoonlijke sleutel voor PEM of DER certificaten die zijn opgegeven door het kenmerk ClientCertificate. Formaat:
| Optiewaarde | Description |
|---|---|
file:<file_location>[,password:<password>] |
Hiermee geeft u de locatie van het persoonlijke sleutelbestand. |
Als het bestand met een persoonlijke sleutel met een wachtwoord is beveiligd, is wachtwoordwoord vereist. Als het wachtwoord tekens bevat , , wordt er direct na elk teken een extra , teken toegevoegd. Als het wachtwoord bijvoorbeeld is, is a,b,chet escape-wachtwoord dat aanwezig is a,,b,,cin de verbindingsreeks.
HostnameInCertificate
Hiermee geeft u de hostnaam die moet worden verwacht in het certificaat van de server wanneer er wordt onderhandeld over versleuteling , als deze verschilt van de standaardwaarde die is afgeleid van Addr/Address/Server. De optie HostnameInCertificate wordt genegeerd wanneer u de optie ServerCertificate gebruikt.
IpAddressPreference
Vanaf versie 18.1 kan de gebruiker met deze optie het type IP-adres opgeven dat ze prioriteit willen geven voor verbindingen. De mogelijke opties zijn IpAddress= [ IPv4First | IPv6First | UsePlatformDefault]." UsePlatformDefault maakt verbinding met adressen in de volgorde waarin ze worden geleverd door de systeemoproep om de servernaam op te lossen. De standaardwaarde is IPv4First, wat overeenkomt met het gedrag in eerdere versies.
ServerCertificate
Deze optie kan vanaf versie 18.1 worden gebruikt met de strikte versleutelingsmodus. Het trefwoord ServerCertificate wordt gebruikt om het pad naar een certificaatbestand op te geven dat overeenkomt met het TLS/SSL-certificaat van SQL Server. De overeenkomst wordt uitgevoerd in plaats van standaardcertificaatvalidatie (vervaldatum, hostnaam, vertrouwensketen, enzovoort) De geaccepteerde certificaatindelingen zijn PEM, DER en CER. Als dit is opgegeven, wordt het SQL Server-certificaat gecontroleerd door te zien of het opgegeven ServerCertificate een exacte overeenkomst is.
SQL_COPT_SS_ACCESS_TOKEN
Hiermee staat u het gebruik van een Microsoft Entra-toegangstoken toe voor verificatie. Zie Microsoft Entra-id gebruiken voor meer informatie.
| Kenmerkwaarde | Description |
|---|---|
| NUL | (Standaard) Er is geen toegangstoken opgegeven. |
| ACCESSTOKEN* | Aanwijzer naar een toegangstoken. |
SQL_COPT_SS_CEKEYSTOREDATA
Communiceert met een geladen sleutelarchiefproviderbibliotheek. Zie Besturingselementen voor transparante kolomversleuteling (Always Encrypted). Dit kenmerk heeft geen standaardwaarde. Zie Aangepaste sleutelarchiefproviders voor meer informatie.
| Kenmerkwaarde | Description |
|---|---|
| CEKEYSTOREDATA * | Communicatiegegevensstructuur voor de sleutelarchiefproviderbibliotheek |
SQL_COPT_SS_CEKEYSTOREPROVIDER
Laadt een sleutelarchiefproviderbibliotheek voor Always Encrypted of haalt de namen van geladen sleutelarchiefproviderbibliotheken op. Zie Aangepaste sleutelarchiefproviders voor meer informatie. Dit kenmerk heeft geen standaardwaarde.
| Kenmerkwaarde | Description |
|---|---|
| verkolen* | Pad naar een sleutelarchiefproviderbibliotheek |
SQL_COPT_SS_ENLIST_IN_XA
Als u XA-transacties wilt inschakelen met een XA-compatibele transactionprocessor (TP), moet de toepassing SQLSetConnectAttr aanroepen met SQL_COPT_SS_ENLIST_IN_XA en een aanwijzer naar een XACALLPARAM object. Deze optie wordt ondersteund in Windows (17.3+), Linux en macOS.
SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, param, SQL_IS_POINTER); // XACALLPARAM *param
Als u een XA-transactie alleen wilt koppelen aan een ODBC-verbinding, geeft u TRUE of FALSE op met SQL_COPT_SS_ENLIST_IN_XA in plaats van de aanwijzer bij het aanroepen SQLSetConnectAttr. Deze instelling is alleen geldig in Windows en kan niet worden gebruikt om XA-bewerkingen op te geven via een clienttoepassing.
SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, (SQLPOINTER)TRUE, 0);
| Waarde | Description | Platforms |
|---|---|---|
| XACALLPARAM-object* | De aanwijzer naar XACALLPARAM object. |
Windows, Linux en macOS |
| TRUE | Koppelt de XA-transactie aan de ODBC-verbinding. Alle gerelateerde databaseactiviteiten worden uitgevoerd onder de beveiliging van de XA-transactie. | Ramen |
| FALSE | Ontkoppelt de transactie met de ODBC-verbinding. | Ramen |
Zie XA-transacties gebruiken voor meer informatie over XA-transacties.
SQL_COPT_SS_LONGASMAX
Hiermee kunnen gegevens van het lange type naar servers worden verzonden als maximale typegegevens.
| Kenmerkwaarde | Description |
|---|---|
| Nee. | (Standaard) Converteer geen lange typen naar maximale typen bij het verzenden. |
| Yes | Converteert gegevens van lange typen naar maximumtypen wanneer ze worden verzonden. |
SQL_COPT_SS_SPID
Haalt de sessie-id van de verbinding op. Deze eigenschap is gelijk aan de variabele T-SQL @@SPID , behalve dat er geen extra retour naar de server wordt uitgevoerd.
| Kenmerkwaarde | Description |
|---|---|
| DWORD (een 32-bit geheel getal vaak gebruikt in programmeren) | SPID |