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 wordt de ANSI-naar-OEM-conversie van gegevens geregeld.
| Kenmerkwaarde | Description |
|---|---|
| SQL_AO_OFF | (Standaard) Vertaling is niet afgerond. |
| SQL_AO_ON | Vertaling is voltooid. |
SQL_COPT_SS_AUTOBEGINTXN
Versie 17.6+ Wanneer autocommit is uitgeschakeld, regelt dit het automatisch uitvoeren van BEGIN TRANSACTION na ROLLBACK of COMMIT.
| Kenmerkwaarde | Description |
|---|---|
| SQL_AUTOBEGINTXN_ON | (Standaard) Automatische BEGINTRANSACTIE na TERUGDRAAIEN of DOORVOEREN. |
| SQL_AUTOBEGINTXN_OFF | Geen automatische BEGIN TRANSACTION na ROLLBACK of COMMIT. |
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
Authenticatie - 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. |
| 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 de clientgeheimcode. |
| ActiveDirectoryPassword | SQL_AU_AD_PASSWORD | [AFGESCHAFT] Microsoft Entra-wachtwoordverificatie. ActiveDirectoryPassword is verouderd. Zie ActiveDirectoryPassword is afgeschaft voor meer informatie. |
| SQL_AU_RESET | Niet ingesteld. Overschrijft een DSN- of verbindingsreeksinstelling. |
Opmerking
Wanneer u het trefwoord of attribuut Authentication gebruikt, stelt u de instelling Encrypt expliciet in op de gewenste waarde in de verbindingsreeks / DSN / het verbindingsattribuut. 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). |
ConcatNullYieldsNull - SQL_COPT_SS_CONCAT_NULL
Hiermee bepaalt u het gebruik van ISO-verwerking van NULL bij het samenvoegen van tekenreeksen. Zie (Transact-SQL) voor meer informatieSET CONCAT_NULL_YIELDS_NULL.
| Trefwoordwaarde | Kenmerkwaarde | Description |
|---|---|---|
| Yes | SQL_CN_ON | (Standaard) NULL-samenvoeging resulteert in NULL. |
| Nee. | SQL_CN_OFF | Null-samenvoeging levert een tekenreeks op. |
Versleutelen
Hiermee geeft u op of verbindingen TLS-versleuteling via het netwerk gebruiken. Mogelijke waarden zijn yes/mandatory(18,0+),no/optional (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 wordt niet gecontroleerd. Gegevens die worden verzonden tussen client en server, worden niet versleuteld. |
| Nee. | Yes | Nee. | Servercertificaat wordt niet gecontroleerd. Gegevens die worden verzonden tussen client en server, worden niet versleuteld. |
| Yes | Nee. | Nee. | Servercertificaat wordt gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Yes | Nee. | Het servercertificaat wordt niet gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Nee. | Nee. | Yes | Servercertificaat is geverifieerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Nee. | Yes | Yes | Het servercertificaat wordt niet gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Nee. | Yes | Servercertificaat wordt gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Yes | Yes | Het servercertificaat wordt niet gecontroleerd. 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 wordt niet gecontroleerd. Gegevens die worden verzonden tussen client en server, worden niet versleuteld. |
| Nee. | Yes | Nee. | Servercertificaat wordt niet gecontroleerd. Gegevens die worden verzonden tussen client en server, worden niet versleuteld. |
| Yes | Nee. | Nee. | Het servercertificaat is gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Yes | Nee. | Het servercertificaat wordt niet gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Nee. | Nee. | Yes | Het servercertificaat wordt niet gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Nee. | Yes | Yes | Het servercertificaat wordt niet gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Nee. | Yes | Het servercertificaat is gecontroleerd. Gegevens die worden verzonden tussen client en server, worden versleuteld. |
| Yes | Yes | Yes | Servercertificaat wordt niet gecontroleerd. 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 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 | Gebruiken SET FMTONLY voor metagegevens. |
Replication
Hiermee wordt het gebruik van een aanmeldingsaccount voor replicatie opgegeven in ODBC Driver versie 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 retryregel is, wordt de foutmatch ervan 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>
Foutcodeovereenkomst: Een door komma's gescheiden lijst van foutcodes. Als u bijvoorbeeld 1000.2000 opgeeft, zijn dit de foutcodes die u opnieuw wilt proberen.
Beleid voor nieuwe pogingen: Hiermee wordt de vertraging tot de volgende poging opgegeven. 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.
Querymatch: Hiermee geeft u op met welke query u wilt overeenkomen. Als er niets is opgegeven, is dit van toepassing op alle query's. Het opgeven van SELECT zou gelden voor alle query's die met select beginnen.
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, zodat de twee specifiekere regels eerst met hun respectieve query’s kunnen overeenkomen.
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 het subject 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 privésleutelbestand met een wachtwoord is beveiligd, is het sleutelwoord 'password' vereist. Als het wachtwoord tekens bevat , , wordt er direct na elk teken een extra , teken toegevoegd. Als het wachtwoord bijvoorbeeld a,b,c is, is het geëscapete wachtwoord in de verbindingsreeks a,,b,,c.
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 vergelijking vindt plaats in plaats van de standaard validatie van certificaten (verloopdatum, 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 keystore-providerbibliotheek. Zie Besturing van 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 keystoreproviders voor meer informatie. Dit kenmerk heeft geen standaardwaarde.
| Kenmerkwaarde | Description |
|---|---|
| char * | Pad naar een keystore-providerbibliotheek |
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 | Platformen |
|---|---|---|
| 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 type long naar servers worden verzonden als gegevens van het type max.
| 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 |