SQLSetConnectAttr
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Der ODBC-Treiber für SQL Server Native Client ignoriert die Einstellung von SQL_ATTR_CONNECTION_TIMEOUT.
SQL_ATTR_TRANSLATE_LIB wird ebenfalls ignoriert. Die Angabe einer anderen Übersetzungsbibliothek wird nicht unterstützt. Damit Anwendungen auf einfache Weise portiert werden können, um einen Microsoft ODBC-Treiber für SQL Server zu verwenden, werden alle mit SQL_ATTR_TRANSLATE_LIB festgelegten Werte in einen Puffer im Treiber-Manager kopiert.
Der ODBC-Treiber für SQL Server Native Client implementiert wiederholbare Lesetransaktionsisolation als serialisierbar.
SQL Server 2005 (9.x) hat unterstützung für ein neues Attribut für die Transaktionsisolation eingeführt, SQL_COPT_SS_TXN_ISOLATION. Durch Festlegen von SQL_COPT_SS_TXN_ISOLATION auf SQL_TXN_SS_SNAPSHOT wird angegeben, dass die Transaktion unter der Momentaufnahmeisolationsstufe ausgeführt wird.
Hinweis
SQL_ATTR_TXN_ISOLATION kann verwendet werden, um alle anderen Isolationsstufen außer SQL_TXN_SS_SNAPSHOT festzulegen. Wenn Sie die Momentaufnahmeisolation verwenden möchten, müssen Sie SQL_TXN_SS_SNAPSHOT über SQL_COPT_SS_TXN_ISOLATION festlegen. Sie können die Isolationsstufe jedoch entweder mithilfe von SQL_ATTR_TXN_ISOLATION oder mithilfe von SQL_COPT_SS_TXN_ISOLATION abrufen.
Das Heraufstufen von ODBC-Anweisungsattributen auf Verbindungsattribute kann unerwartete Folgen haben. Anweisungsattribute, die Servercursorn für die Verarbeitung von Resultsets anfordern, können auf Verbindungsattribute heraufgestuft werden. Wenn Sie beispielsweise das ODBC-Anweisungsattribut SQL_ATTR_CONCURRENCY auf einen Wert festlegen, der restriktiver ist als der Standardwert, weist SQL_CONCUR_READ_ONLY den Treiber an, für alle Anweisungen, die für die Verbindung übermittelt werden, dynamische Cursor zu verwenden. Beim Ausführen einer ODBC-Katalogfunktion für eine Anweisung für die Verbindung wird SQL_SUCCESS_WITH_INFO und ein Diagnosedatensatz zurückgegeben, der angibt, dass das Cursorverhalten in schreibgeschützt geändert wurde. Beim Ausführen einer Transact-SQL SELECT-Anweisung mit einer COMPUTE-Klausel für dieselbe Verbindung tritt ein Fehler auf.
Der SQL Server Native Client ODBC-Treiber unterstützt eine Reihe treiberspezifischer Erweiterungen für ODBC-Verbindungsattribute, die in sqlncli.h definiert sind. Der SQL Server Native Client ODBC-Treiber erfordert möglicherweise, dass das Attribut vor der Verbindung festgelegt wird, oder es ignoriert das Attribut, wenn es bereits festgelegt ist. In der folgenden Tabelle sind Einschränkungen aufgeführt.
SQL Server-Attribut | Festlegung vor oder nach Verbindung mit Server |
---|---|
SQL_COPT_SS_ANSI_NPW | Vorher |
SQL_COPT_SS_APPLICATION_INTENT | Vorher |
SQL_COPT_SS_ATTACHDBFILENAME | Vorher |
SQL_COPT_SS_BCP | Vorher |
SQL_COPT_SS_BROWSE_CONNECT | Vorher |
SQL_COPT_SS_BROWSE_SERVER | Vorher |
SQL_COPT_SS_CONCAT_NULL | Vorher |
SQL_COPT_SS_CONNECTION_DEAD | After |
SQL_COPT_SS_ENCRYPT | Vorher |
SQL_COPT_SS_ENLIST_IN_DTC | After |
SQL_COPT_SS_ENLIST_IN_XA | After |
SQL_COPT_SS_FALLBACK_CONNECT | Vorher |
SQL_COPT_SS_FAILOVER_PARTNER | Vorher |
SQL_COPT_SS_INTEGRATED_SECURITY | Vorher |
SQL_COPT_SS_MARS_ENABLED | Vorher |
SQL_COPT_SS_MULTISUBNET_FAILOVER | Vorher |
SQL_COPT_SS_OLDPWD | Vorher |
SQL_COPT_SS_PERF_DATA | After |
SQL_COPT_SS_PERF_DATA_LOG | After |
SQL_COPT_SS_PERF_DATA_LOG_NOW | After |
SQL_COPT_SS_PERF_QUERY | After |
SQL_COPT_SS_PERF_QUERY_INTERVAL | After |
SQL_COPT_SS_PERF_QUERY_LOG | After |
SQL_COPT_SS_PRESERVE_CURSORS | Vorher |
SQL_COPT_SS_QUOTED_IDENT | Sowohl als auch |
SQL_COPT_SS_TRANSLATE | Sowohl als auch |
SQL_COPT_SS_TRUST_SERVER_CERTIFICATE | Vorher |
SQL_COPT_SS_TXN_ISOLATION | Sowohl als auch |
SQL_COPT_SS_USE_PROC_FOR_PREP | Sowohl als auch |
SQL_COPT_SS_USER_DATA | Sowohl als auch |
SQL_COPT_SS_WARN_ON_CP_ERROR | Vorher |
Die Verwendung eines Vorverbindungsattributs und des entsprechenden Transact-SQL-Befehls für denselben Sitzungs-, Datenbank- oder SQL Server-Zustand kann zu unerwartetem Verhalten führen. Beispiel:
SQLSetConnectAttr(SQL_COPT_SS_QUOTED_IDENT, SQL_QI_ON) // turn ON via attribute
SQLDriverConnect(...);
SQLExecDirect("SET QUOTED_IDENTIFIER OFF") // turn OFF via Transact-SQL
SQLSetConnectAttr(SQL_ATTR_CURRENT_CATALOG, ...) // restores to pre-connect attribute value
SQL_COPT_SS_ANSI_NPW
SQL_COPT_SS_ANSI_NPW aktiviert oder deaktiviert die Verwendung der ISO-Behandlung von NULL in Vergleichen und Verkettungen, beim Auffüllen von Zeichendatentypen und Warnungen. Weitere Informationen finden Sie unter SET ANSI_NULLS, SET ANSI_PADDING, SET ANSI_WARNINGS und SET CONCAT_NULL_YIELDS_NULL.
Wert | Beschreibung |
---|---|
SQL_AD_ON | Standard. Die Verbindung verwendet das ANSI-Standardverhalten für die Behandlung von NULL-Vergleichen, für das Auffüllen, für Warnungen sowie für NULL-Verkettungen. |
SQL_AD_OFF | Die Verbindung verwendet sql Server-definierte Behandlung von NULL, Zeichendatentypabstand und Warnungen. |
Wenn Sie verbindungspooling verwenden, sollte SQL_COPT_SS_ANSI_NPW im Verbindungszeichenfolge und nicht mit SQLSetConnectAttr festgelegt werden. Nach dem Herstellen einer Verbindung tritt ein Fehler ohne Benachrichtigung auf, wenn dieses Attribut bei der Verwendung von Verbindungspooling geändert wird.
SQL_COPT_SS_APPLICATION_INTENT
Deklariert den Arbeitsauslastungstyp der Anwendung beim Herstellen einer Verbindung mit einem Server. Mögliche Werte sind Readonly und ReadWrite. Zum Beispiel:
SQLSetConnectAttr(hdbc, SQL_COPT_SS_APPLICATION_INTENT, TEXT("Readonly"), SQL_NTS)
Der Standardwert lautet ReadWrite. Weitere Informationen zur Unterstützung von SQL Server Native Client für AlwaysOn-Verfügbarkeitsgruppen-AGs finden Sie unter SQL Server Native Client Support for High Availability, Disaster Recovery.
SQL_COPT_SS_ATTACHDBFILENAME
SQL_COPT_SS_ATTACHDBFILENAME gibt den Namen der primären Datei für eine anfügbare Datenbank an. Diese Datenbank wird angefügt und als Standarddatenbank für die Verbindung verwendet. Um SQL_COPT_SS_ATTACHDBFILENAME zu verwenden, müssen Sie den Namen der Datenbank als Wert des Verbindungsattributes SQL_ATTR_CURRENT_CATALOG oder im DATABASE = -Parameter eines SQLDriverConnect angeben. Wenn die Datenbank zuvor angefügt wurde, wird sie von SQL Server nicht erneut angefügt.
Wert | Beschreibung |
---|---|
SQLPOINTER auf eine Zeichenfolge | Die Zeichenfolge enthält den Namen der primären Datei für die anzufügende Datenbank. Sie enthält den Namen des vollständigen Pfads der Datei. |
SQL_COPT_SS_BCP
SQL_COPT_SS_BCP aktiviert Funktionen zum Massenkopieren für eine Verbindung. Weitere Informationen finden Sie unter "Massenkopiefunktionen".
Wert | Beschreibung |
---|---|
SQL_BCP_OFF | Standard. Funktionen zum Massenkopieren sind für die Verbindung nicht verfügbar. |
SQL_BCP_ON | Funktionen zum Massenkopieren sind für die Verbindung verfügbar. |
SQL_COPT_SS_BROWSE_CONNECT
Dieses Attribut wird verwendet, um das von SQLBrowseConnect zurückgegebene Resultset anzupassen. SQL_COPT_SS_BROWSE_CONNECT aktiviert oder deaktiviert die Rückgabe zusätzlicher Informationen aus einer aufgezählten Instanz von SQL Server. Diese Informationen können Angaben dazu enthalten, ob sich der Server in einem Cluster befindet, und die Namen anderer Instanzen sowie die Versionsnummer angeben.
Wert | Beschreibung |
---|---|
SQL_MORE_INFO_NO | Standard. Gibt eine Liste mit Servern zurück. |
SQL_MORE_INFO_YES | SQLBrowseConnect gibt eine erweiterte Zeichenfolge von Servereigenschaften zurück. |
SQL_COPT_SS_BROWSE_SERVER
Dieses Attribut wird verwendet, um das von SQLBrowseConnect zurückgegebene Resultset anzupassen. SQL_COPT_SS_BROWSE_SERVER gibt den Servernamen an, für den SQLBrowseConnect die Informationen zurückgibt.
Wert | Beschreibung |
---|---|
computername | SQLBrowseConnect gibt eine Liste von Instanzen von SQL Server auf dem angegebenen Computer zurück. Doppelte umgekehrte Schrägstriche (\\) sollten nicht für den Servernamen verwendet werden (z. B. anstelle von \\MyServer, MyServer sollte verwendet werden). |
NULL | Standard. SQLBrowseConnect gibt Informationen für alle Server in der Domäne zurück. |
SQL_COPT_SS_CONCAT_NULL
SQL_COPT_SS_CONCAT_NULL aktiviert oder deaktiviert die Verwendung der ISO-Behandlung von NULL beim Verketten von Zeichenfolgen. Weitere Informationen finden Sie unter SET CONCAT_NULL_YIELDS_NULL.
Wert | Beschreibung |
---|---|
SQL_CN_ON | Standard. Beim Verketten von Zeichenfolgen verwendet die Verbindung das ISO-Standardverhalten zum Behandeln von NULL-Werten. |
SQL_CN_OFF | Die Verbindung verwendet sql Server-definiertes Verhalten für die Behandlung von NULL-Werten beim Verketten von Zeichenfolgen. |
SQL_COPT_SS_ENCRYPT
Steuert die Verschlüsselung für eine Verbindung.
Bei der Verschlüsselung wird das Zertifikat auf dem Server verwendet. Dies muss von einer Zertifizierungsstelle überprüft werden, außer das Verbindungsattribut SQL_COPT_SS_TRUST_SERVER_CERTIFICATE ist auf SQL_TRUST_SERVER_CERTIFICATE_YES festgelegt oder die Verbindungszeichenfolge enthält "TrustServerCertificate=yes". Falls eine dieser Bedingungen zutrifft, kann ein vom Server generiertes und signiertes Zertifikat zum Verschlüsseln der Verbindung verwendet werden, wenn sich kein Zertifikat auf dem Server befindet.
Wert | Beschreibung |
---|---|
SQL_EN_ON | Die Verbindung wird verschlüsselt. |
SQL_EN_OFF | Die Verbindung wird nicht verschlüsselt. Dies ist die Standardeinstellung. |
SQL_COPT_SS_ENLIST_IN_DTC
Der Client ruft den MICROSOFT Distributed Transaction Coordinator (MS DTC) OLE DB ITransactionDispenser::BeginTransaction-Methode auf, um eine MS DTC-Transaktion zu beginnen und ein MS DTC-Transaktionsobjekt zu erstellen, das die Transaktion darstellt. Die Anwendung ruft dann SQLSetConnectAttr mit der Option SQL_COPT_SS_ENLIST_IN_DTC auf, um das Transaktionsobjekt der ODBC-Verbindung zuzuordnen. Alle entsprechenden Datenbankaktivitäten werden unter dem Schutz der MS DTC-Transaktion durchgeführt. Die Anwendung ruft SQLSetConnectAttr mit SQL_DTC_DONE auf, um die DTC-Zuordnung der Verbindung zu beenden.
Wert | Beschreibung |
---|---|
DTC-Objekt* | Das MS DTC OLE-Transaktionsobjekt, das die zu exportierende Transaktion in SQL Server angibt. |
SQL_DTC_DONE | Begrenzt das Ende einer DTC-Transaktion. |
SQL_COPT_SS_ENLIST_IN_XA
Um eine XA-Transaktion mit einem XA-kompatiblen Transaktionsprozessor (TP) zu beginnen, ruft der Client die Open Group tx_begin-Funktion auf. Die Anwendung ruft dann SQLSetConnectAttr mit einem SQL_COPT_SS_ENLIST_IN_XA Parameter von TRUE auf, um die XA-Transaktion der ODBC-Verbindung zuzuordnen. Alle entsprechenden Datenbankaktivitäten werden unter dem Schutz der XA-Transaktion durchgeführt. Um eine XA-Zuordnung mit einer ODBC-Verbindung zu beenden, muss der Client SQLSetConnectAttr mit einem SQL_COPT_SS_ENLIST_IN_XA Parameter von FALSE aufrufen. Weitere Informationen finden Sie in der Dokumentation zu Microsoft Distributed Transaction Coordinator.
SQL_COPT_SS_FALLBACK_CONNECT
Dieses Attribut wird nicht mehr unterstützt.
SQL_COPT_SS_FAILOVER_PARTNER
Wird verwendet, um den Namen des Failoverpartners anzugeben oder abzurufen, der für die Datenbankspiegelung in SQL Server verwendet wird, und es handelt sich um eine NULL-beendete Zeichenfolge, die festgelegt werden muss, bevor die Verbindung mit SQL Server anfänglich hergestellt wird.
Nach dem Herstellen der Verbindung kann die Anwendung dieses Attribut mithilfe von SQLGetConnectAttr abfragen, um die Identität des Failoverpartners zu ermitteln. Wenn der primäre Server über keinen Failoverpartner verfügt, gibt diese Eigenschaft eine leere Zeichenfolge zurück. Dies ermöglicht einer intelligenten Anwendung den aktuell festgestellten Sicherungsserver in den Cache zu speichern. Jedoch sollte bei solchen Anwendungen darauf geachtet werden, dass die Informationen nur aktualisiert werden, wenn die Verbindung zum ersten Mal hergestellt (oder zurückgesetzt, falls in einem Pool) wird, und bei Langzeitverbindungen veralten kann.
Weitere Informationen finden Sie unter Verwenden der Datenbankspiegelung.
SQL_COPT_SS_INTEGRATED_SECURITY
SQL_COPT_SS_INTEGRATED_SECURITY erzwingt die Verwendung der Windows-Authentifizierung für die Überprüfung des Zugriffs bei der Serveranmeldung. Wenn die Windows-Authentifizierung verwendet wird, ignoriert der Treiber Benutzerbezeichner und Kennwortwerte, die als Teil der SQLConnect-, SQLDriverConnect- oder SQLBrowseConnect-Verarbeitung bereitgestellt werden.
Wert | Beschreibung |
---|---|
SQL_IS_OFF | Standard. Die SQL Server-Authentifizierung wird verwendet, um die Benutzer-ID und das Kennwort bei der Anmeldung zu überprüfen. |
SQL_IS_ON | Der Windows-Authentifizierungsmodus wird verwendet, um die Zugriffsrechte eines Benutzers auf sql Server zu überprüfen. |
SQL_COPT_SS_MARS_ENABLED
Dieses Attribut aktiviert oder deaktiviert MARS (Multiple Active Result Sets). MARS ist standardmäßig deaktiviert. Dieses Attribut sollte festgelegt werden, bevor eine Verbindung mit SQL Server hergestellt wird. Sobald die Verbindung mit SQL Server geöffnet wurde, bleibt MARS für die Lebensdauer der Verbindung aktiviert oder deaktiviert.
Wert | Beschreibung |
---|---|
SQL_MARS_ENABLED_NO | Standard. MARS (Multiple Active Result Sets) ist deaktiviert. |
SQL_MARS_ENABLED_YES | MARS ist aktiviert. |
Weitere Informationen zum MARS finden Sie unter Using Multiple Active Result Sets (MARS).
SQL_COPT_SS_MULTISUBNET_FAILOVER
Wenn Ihre Anwendung eine Verbindung mit einer Always On-Verfügbarkeitsgruppen-Verfügbarkeitsgruppe (AG) in verschiedenen Subnetzen herstellt, konfiguriert diese Verbindungseigenschaft SQL Server Native Client, um eine schnellere Erkennung und Verbindung mit dem (derzeit) aktiven Server zu ermöglichen. Zum Beispiel:
SQLSetConnectAttr(hdbc, SQL_COPT_SS_MULTISUBNET_FAILOVER, SQL_IS_ON, SQL_IS_INTEGER)
Weitere Informationen zur Unterstützung von SQL Server Native Client für AlwaysOn-Verfügbarkeitsgruppen-AGs finden Sie unter SQL Server Native Client Support for High Availability, Disaster Recovery.
Wert | Beschreibung |
---|---|
SQL_IS_ON | SQL Server Native Client bietet eine schnellere Erneute Verbindung, wenn ein Failover vorhanden ist. |
SQL_IS_OFF | SQL Server Native Client bietet keine schnellere Erneute Verbindung, wenn ein Failover vorhanden ist. |
SQL_COPT_SS_OLDPWD
Der Kennwortablauf für die SQL Server-Authentifizierung wurde in SQL Server 2005 (9.x) eingeführt. Das SQL_COPT_SS_OLDPWD-Attribut wurde hinzugefügt, damit der Client sowohl das alte als auch das neue Kennwort für die Verbindung angeben kann. Wenn diese Eigenschaft festgelegt ist, verwendet der Anbieter für die erste Verbindung oder für nachfolgende Verbindungen keinen Verbindungspool, da die Verbindungszeichenfolge das "alte Kennwort" enthält, das inzwischen geändert wurde.
Weitere Informationen finden Sie unter Programmgesteuertes Ändern von Kennwörtern.
Wert | Beschreibung |
---|---|
SQL_COPT_SS_OLD_PASSWORD | SQLPOINTER auf eine Zeichenfolge, die das alte Kennwort enthält. Dieser Wert ist lesegeschützt und muss vor der Verbindung mit dem Server festgelegt werden. |
SQL_COPT_SS_PERF_DATA
SQL_COPT_SS_PERF_DATA startet oder beendet die Protokollierung von Leistungsdaten. Der Name der Datenprotokolldatei muss vor Beginn der Datenprotokollierung festgelegt werden. Siehe SQL_COPT_SS_PERF_DATA_LOG weiter unten.
Wert | Beschreibung |
---|---|
SQL_PERF_START | Sorgt dafür, dass der Treiber mit dem Aufzeichnen von Leistungsdaten beginnt. |
SQL_PERF_STOP | Sorgt dafür, dass die Leistungsindikatoren die Aufzeichnung von Leistungsdaten beenden. |
Weitere Informationen finden Sie unter SQLGetConnectAttr.
SQL_COPT_SS_PERF_DATA_LOG
SQL_COPT_SS_PERF_DATA_LOG weist den Namen der Protokolldatei zu, der verwendet wird, um Leistungsdaten aufzuzeichnen. Der Name der Protokolldatei ist je nach der Kompilierung der Anwendung eine auf NULL endende ANSI- oder Unicode-Zeichenfolge. Das Argument StringLength sollte SQL_NTS werden.
SQL_COPT_SS_PERF_DATA_LOG_NOW
SQL_COPT_SS_PERF_DATA_LOG_NOW weist den Treiber an, einen Statistikprotokolleintrag auf den Datenträger zu schreiben. Das Argument StringLength sollte SQL_NTS werden.
SQL_COPT_SS_PERF_QUERY
SQL_COPT_SS_PERF_QUERY startet oder beendet die Protokollierung für Abfragen mit langer Ausführungszeit. Der Name der Abfrageprotokolldatei muss vor Beginn der Protokollierung angegeben werden. Die Anwendung kann die "lange Ausführungszeit" durch Festlegen des Intervalls für die Protokollierung definieren.
Wert | Beschreibung |
---|---|
SQL_PERF_START | Startet die Protokollierung von Abfragen mit langer Ausführungszeit. |
SQL_PERF_STOP | Beendet die Protokollierung von Abfragen mit langer Ausführungszeit. |
Weitere Informationen finden Sie unter SQLGetConnectAttr.
SQL_COPT_SS_PERF_QUERY_INTERVAL
SQL_COPT_SS_PERF_QUERY_INTERVAL legt den Schwellenwert für die Abfrageprotokollierung in Millisekunden fest. Abfragen, die nicht innerhalb des Schwellenwertes aufgelöst werden, werden in der Protokolldatei für Abfragen mit langer Ausführungszeit aufgezeichnet. Für den Abfrageschwellenwert gibt es keinen oberen Grenzwert. Bei einem Abfrageschwellenwert von Null werden alle Abfragen protokolliert.
SQL_COPT_SS_PERF_QUERY_LOG
SQL_COPT_SS_PERF_QUERY_LOG weist den Namen einer Protokolldatei für die Aufzeichnung von Daten für eine Abfrage mit langer Ausführungszeit zu. Der Name der Protokolldatei ist je nach der Kompilierung der Anwendung eine auf NULL endende ANSI- oder Unicode-Zeichenfolge. Das Argument StringLength sollte SQL_NTS oder die Länge der Zeichenfolge in Byte sein.
SQL_COPT_SS_PRESERVE_CURSORS
Mit diesem Attribut können Sie abfragen und festlegen, ob die Verbindung beim Durchführen eines Commits/Rollbacks für eine Transaktion den bzw. die Cursor beibehält. Die Einstellung ist entweder SQL_PC_ON oder SQL_PC_OFF. Der Standardwert ist SQL_PC_OFF. Diese Einstellung steuert, ob der Treiber den Cursor(n) für Sie schließt, wenn Sie SQLEndTran (oder SQLTransact) aufrufen.
Wert | Beschreibung |
---|---|
SQL_PC_OFF | Standard. Cursor werden geschlossen, wenn die Transaktion mithilfe von SQLEndTran zugesichert oder zurückgesetzt wird. |
SQL_PC_ON | Cursor werden nicht geschlossen, wenn transaktionen mithilfe von SQLEndTran zugesichert oder zurückgesetzt werden, außer wenn ein statischer oder Keysetcursor im asynchronen Modus verwendet wird. Wenn ein Rollback ausgegeben wird und das Auffüllen des Cursors noch nicht abgeschlossen ist, wird der Cursor geschlossen. |
SQL_COPT_SS_QUOTED_IDENT
SQL_COPT_SS_QUOTED_IDENT lässt Bezeichner in Anführungszeichen in ODBC- und Transact-SQL-Anweisungen zu, die für die Verbindung übermittelt werden. Durch Angabe von Bezeichnern in Anführungszeichen lässt der ODBC-Treiber von SQL Server Native Client andernfalls ungültige Objektnamen wie "My Table" zu, die ein Leerzeichen im Bezeichner enthält. Weitere Informationen finden Sie unter SET QUOTED_IDENTIFIER.
Wert | Beschreibung |
---|---|
SQL_QI_OFF | Die SQL Server-Verbindung lässt keine an zitierten IDs in übermittelten Transact-SQL-Dateien zu. |
SQL_QI_ON | Standard. Die Verbindung ermöglicht an zitierte IDs in übermittelten Transact-SQL-Dateien. |
SQL_COPT_SS_TRANSLATE
SQL_COPT_SS_TRANSLATE bewirkt, dass der Treiber beim Austausch von MBCS-Daten Zeichen zwischen den Client- und Servercodeseiten übersetzt. Das Attribut betrifft nur Daten, die in SQL Server-Zeichen-, Varchar- und Textspalten gespeichert sind.
Wert | Beschreibung |
---|---|
SQL_XL_OFF | Der Treiber übersetzt beim Austausch von Zeichendaten zwischen dem Client und dem Server keine Zeichen von einer Codeseite in eine andere. |
SQL_XL_ON | Standard. Der Treiber übersetzt beim Austausch von Zeichendaten zwischen dem Client und dem Server Zeichen von einer Codeseite in eine andere. Der Treiber konfiguriert die Zeichenübersetzung automatisch und ermittelt dabei die auf dem Server installierte sowie die vom Client verwendete Codeseite. |
SQL_COPT_SS_TRUST_SERVER_CERTIFICATE
SQL_COPT_SS_TRUST_SERVER_CERTIFICATE bewirkt, dass der Treiber bei der Verwendung der Verschlüsselung die Zertifikatüberprüfung aktiviert oder deaktiviert. Bei diesem Attribut handelt es sich um einen Lese-/Schreibwert. Wenn er nach dem Herstellen einer Verbindung festgelegt wird, hat er jedoch keine Auswirkungen.
Clientanwendungen können diese Eigenschaft abfragen, nachdem eine Verbindung zur Feststellung der tatsächlich verwendeten Verschlüsselungs- und Validierungseigenschaften geöffnet wurde.
Wert | Beschreibung |
---|---|
SQL_TRUST_SERVER_CERTIFICATE_NO | Standard. Verschlüsselung ohne Zertifikatüberprüfung wird nicht aktiviert. |
SQL_TRUST_SERVER_CERTIFICATE_YES | Verschlüsselung ohne Zertifikatüberprüfung wird aktiviert. |
SQL_COPT_SS_TXN_ISOLATION
SQL_COPT_SS_TXN_ISOLATION legt das SQL Server-spezifische Snapshot-Isolationsattribut fest. Die Momentaufnahmeisolation kann nicht mithilfe von SQL_ATTR_TXN_ISOLATION festgelegt werden, da der Wert SQL Server-spezifisch ist. Sie kann jedoch mit SQL_ATTR_TXN_ISOLATION oder mit SQL_COPT_SS_TXN_ISOLATION abgerufen werden.
Wert | Beschreibung |
---|---|
SQL_TXN_SS_SNAPSHOT | Gibt an, dass Sie von einer Transaktion aus keine Änderungen sehen können, die an anderen Transaktionen vorgenommen wurden, und dass Sie Änderungen auch dann nicht sehen können, wenn Sie diese erneut abfragen. |
Weitere Informationen zur Snapshotisolation finden Sie unter Arbeiten mit Snapshotisolation.
SQL_COPT_SS_USE_PROC_FOR_PREP
Dieses Attribut wird nicht mehr unterstützt.
SQL_COPT_SS_USER_DATA
SQL_COPT_SS_USER_DATA legt den Benutzerdatenzeiger fest. Benutzerdaten werden im clienteigenen Arbeitsspeicher gespeichert und pro Verbindung aufgezeichnet.
Weitere Informationen finden Sie unter SQLGetConnectAttr.
SQL_COPT_SS_WARN_ON_CP_ERROR
Dieses Attribut legt fest, ob eine Warnung angezeigt wird, wenn bei der Konvertierung einer Codeseite Daten verloren gehen. Dies gilt nur für Daten, die vom Server stammen.
Wert | Beschreibung |
---|---|
SQL_WARN_YES | Generiert Warnungen, wenn während der Codepagekonvertierung Daten verloren gehen. |
SQL_WARN_NO | (Standard) Generiert keine Warnungen, wenn während der Codepagekonvertierung Daten verloren gehen. |
SQLSetConnectAttr-Unterstützung für Dienstprinzipalnamen (SPNs)
SQLSetConnectAttr kann verwendet werden, um den Wert der neuen Verbindungsattribute SQL_COPT_SS_SERVER_SPN und SQL_COPT_SS_FAILOVER_PARTNER_SPN festzulegen. Diese Attribute können nicht festgelegt werden, wenn die Verbindung geöffnet ist. Wenn Sie versuchen, diese Attribute bei geöffneter Verbindung festzulegen, wird der Fehler HY011 mit der Meldung "Der Vorgang ist zu diesem Zeitpunkt ungültig" zurückgegeben. (SQLSetConnectOption kann auch zum Festlegen dieser Werte verwendet werden.)
Weitere Informationen zu SPNs finden Sie unter Service Principal Names (SPNs) in Client Connections (ODBC).For more information about SPNs, see Service Principal Names (SPNs) in Client Connections (ODBC).For more information about SPNs, see Service Principal Names (SPNs) in Client Connections (ODBC).
SQL_COPT_SS_CONNECTION_DEAD
Dieses Attribut ist schreibgeschützt.
Weitere Informationen zu SQL_COPT_SS_CONNECTION_DEAD finden Sie unter SQLGetConnectAttr und Herstellen einer Verbindung mit einer Datenquelle (ODBC).For more information about SQL_COPT_SS_CONNECTION_DEAD, see SQLGetConnectAttr and Connecting to a Data Source (ODBC).
Beispiel
In diesem Beispiel werden Leistungsdaten protokolliert.
SQLPERF* pSQLPERF;
SQLINTEGER nValue;
// See if you are already logging. SQLPERF* will be NULL if not.
SQLGetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA, &pSQLPERF,
sizeof(SQLPERF*), &nValue);
if (pSQLPERF == NULL)
{
// Set the performance log file name.
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG,
(SQLPOINTER) "\\My LogDirectory\\MyServerLog.txt", SQL_NTS);
// Start logging...
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA,
(SQLPOINTER) SQL_PERF_START, SQL_IS_INTEGER);
}
else
{
// Take a snapshot now so that your performance statistics are discernible.
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);
}
// ...perform some action...
// ...take a performance data snapshot...
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);
// ...perform more actions...
// ...take another snapshot...
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);
// ...and disable logging.
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA,
(SQLPOINTER) SQL_PERF_STOP, SQL_IS_INTEGER);
// Continue on...
Weitere Informationen
SQLSetConnectAttr-Funktion
ODBC-API-Implementierungsdetails
Massenkopierfunktionen
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)
SQLPrepare-Funktion
SQLGetInfo