SQLSetConnectAttr

Der SQL Server Native Client ODBC-Treiber ignoriert die Einstellung von SQL_ATTR_CONNECTION_TIMEOUT.

SQL_ATTR_TRANSLATE_LIB wird ebenfalls ignoriert. Die Angabe einer anderen Übersetzungsbibliothek wird nicht unterstützt. Um eine einfache Portierung von Anwendungen für die Verwendung eines Microsoft ODBC-Treibers für SQL Server zu ermöglichen, wird jeder mit SQL_ATTR_TRANSLATE_LIB festgelegte Wert in einen Puffer im Treiber-Manager und aus diesem kopiert.

Der SQL Server Native Client ODBC-Treiber implementiert wiederholbare Lesetransaktionsisolationen als serialisierbar.

Mit SQL Server 2005 wurde die Unterstützung von SQL_COPT_SS_TXN_ISOLATION, eines neuen Attributs für die Transaktionsisolation eingeführt. Durch Festlegen von SQL_COPT_SS_TXN_ISOLATION auf SQL_TXN_SS_SNAPSHOT wird angegeben, dass die Transaktion unter der Momentaufnahmeisolationsstufe ausgeführt wird.

HinweisHinweis

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 Anzahl von treiberspezifischen Erweiterungen für ODBC-Verbindungsattribute, die in sqlncli.h definiert sind. Möglicherweise ist es für den SQL Server Native Client ODBC-Treiber erforderlich, dass das Attribut vor der Verbindung festgelegt werden muss. Möglicherweise wird ein bereits festgelegtes Attribut jedoch ignoriert. 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_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

Danach

SQL_COPT_SS_ENCRYPT

Vorher

SQL_COPT_SS_ENLIST_IN_DTC

Danach

SQL_COPT_SS_ENLIST_IN_XA

Danach

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_OLDPWD

Vorher

SQL_COPT_SS_PERF_DATA

Danach

SQL_COPT_SS_PERF_DATA_LOG

Danach

SQL_COPT_SS_PERF_DATA_LOG_NOW

Danach

SQL_COPT_SS_PERF_QUERY

Danach

SQL_COPT_SS_PERF_QUERY_INTERVAL

Danach

SQL_COPT_SS_PERF_QUERY_LOG

Danach

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

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

Standardwert. 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 das in SQL Server definierte Verhalten für die Behandlung von NULL, für das Auffüllen von Zeichendatentypen sowie für Warnungen.

Wenn Sie Verbindungspooling verwenden, muss SQL_COPT_SS_ANSI_NPW in der Verbindungszeichenfolge festgelegt sein und nicht mit SQLSetConnectAttr angegeben 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_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. Für die Verwendung von SQL_COPT_SS_ATTACHDBFILENAME müssen Sie den Namen der Datenbank als Wert des Verbindungsattributs SQL_ATTR_CURRENT_CATALOG oder im DATABASE =-Parameter eines SQLDriverConnect-Attributs angeben. Wenn die Datenbank bereits vorher 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 Massenkopierfunktionen.

Wert

Beschreibung

SQL_BCP_OFF

Standardwert. 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

Mit diesem Attribut wird das von SQLBrowseConnect zurückgegebene Resultset angepasst. SQL_COPT_SS_BROWSE_CONNECT aktiviert oder deaktiviert die Rückgabe von weiteren Informationen von einer aufgelisteten 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

Standardwert. Gibt eine Liste mit Servern zurück.

SQL_MORE_INFO_YES

Bei SQL Server 7.0 gibt SQLBrowseConnect eine Liste mit Servern zurück. Bei anderen Versionen gibt SQLBrowseConnect eine erweiterte Zeichenfolge mit Servereigenschaften zurück.

SQL_COPT_SS_BROWSE_SERVER

Mit diesem Attribut wird das von SQLBrowseConnect zurückgegebene Resultset angepasst. SQL_COPT_SS_BROWSE_SERVER gibt den Servernamen an, für den SQLBrowseConnect die Informationen zurückgibt.

Wert

Beschreibung

computername

SQLBrowseConnect gibt eine Liste der Instanzen von SQL Server auf dem angegebenen Computer zurück. Für den Servernamen dürfen keine doppelten umgekehrten Schrägstriche (\\) verwendet werden. (Statt \\MyServer muss beispielsweise MyServer verwendet werden.)

NULL

Standardwert. 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

Standardwert. Beim Verketten von Zeichenfolgen verwendet die Verbindung das ISO-Standardverhalten zum Behandeln von NULL-Werten.

SQL_CN_OFF

Beim Verketten von Zeichenfolgen verwendet die Verbindung das in SQL Server definierte Verhalten zum Behandeln von NULL-Werten.

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 die MS DTC OLE DB-Methode (Microsoft Distributed Transaction Coordinator) ITransactionDispenser::BeginTransaction auf, um eine MS DTC-Transaktion zu starten und ein MS DTC-Transaktionsobjekt zu erstellen, das eine Transaktion darstellt. Die Anwendung ruft dann SQLSetConnectAttr mit der SQL_COPT_SS_ENLIST_IN_DTC-Option auf, um der ODBC-Verbindung das Transaktionsobjekt 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. Weitere Informationen finden Sie unter Verteilte MS DTC-Transaktionen.

Wert

Beschreibung

DTC-Objekt*

Das MS DTC OLE-Transaktionsobjekt, das die in SQL Server zu exportierende Transaktion 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 zu beginnen, ruft der Client die Open Group-Funktion tx_begin auf. Die Anwendung ruft dann SQLSetConnectAttr auf, um der ODBC-Verbindung die XA-Transaktion zuzuordnen, wobei der SQL_COPT_SS_ENLIST_IN_XA-Parameter auf TRUE festgelegt ist. Alle entsprechenden Datenbankaktivitäten werden unter dem Schutz der XA-Transaktion durchgeführt. Um eine XA-Zuordnung zu einer ODBC-Verbindung zu beenden, ruft der Client SQLSetConnectAttr auf, wobei der SQL_COPT_SS_ENLIST_IN_XA-Parameter auf FALSE gesetzt sein muss. Weitere Informationen finden Sie in der Dokumentation zu Microsoft Distributed Transaction Coordinator.

SQL_COPT_SS_FALLBACK_CONNECT

Dieses Attribut wird nicht mehr unterstützt, da SQL Server Native Client das Herstellen einer Verbindung mit SQL Server 6.5 nicht unterstützt.

SQL_COPT_SS_FAILOVER_PARTNER

Wird zum Angeben oder Abrufen des Namens des Failoverpartners verwendet, der für die Datenbankspiegelung in SQL Server verwendet wird. Hierbei handelt es sich um eine auf NULL endende Zeichenfolge, die vor dem Herstellen der Verbindung mit SQL Server festgelegt werden muss.

Nach dem Herstellen der Verbindung kann die Anwendung dieses Attribut mithilfe von SQLGetConnectAttr abfragen, um die Identität des Failoverpartners festzustellen. 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 die Werte von Benutzer-ID und Kennwort, die bei der Verarbeitung von SQLConnect, SQLDriverConnect oder SQLBrowseConnect bereitgestellt werden.

Wert

Beschreibung

SQL_IS_OFF

Standardwert. Zum Überprüfen von Benutzer-ID und Kennwort bei der Anmeldung wird die SQL Server-Authentifizierung.

SQL_IS_ON

Zum Überprüfen der Zugriffsrechte eines Benutzers auf SQL Server wird der Windows-Authentifizierungsmodus verwendet.

SQL_COPT_SS_MARS_ENABLED

Dieses Attribut aktiviert oder deaktiviert MARS (Multiple Active Result Sets). MARS ist standardmäßig deaktiviert. Dieses Attribut muss vor dem Herstellen einer Verbindung mit SQL Server festgelegt werden. Nach dem Öffnen der Verbindung mit SQL Server bleibt MARS für die Dauer der Verbindung aktiviert oder deaktiviert.

Wert

Beschreibung

SQL_MARS_ENABLED_NO

Standardwert. MARS (Multiple Active Result Sets) ist deaktiviert.

SQL_MARS_ENABLED_YES

MARS ist aktiviert.

Weitere Informationen zu MARS finden Sie unter Verwenden von Multiple Active Result Sets (MARS)..

SQL_COPT_SS_OLDPWD

Der Ablauf von Kennwörtern bei der SQL Server-Authentifizierung wurde mit SQL Server 2005 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 StringLength-Argument muss SQL_NTS lauten.

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 StringLength-Argument muss SQL_NTS lauten.

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 StringLength-Argument sollte SQL_NTS lauten oder der Länge der Zeichenfolge in Bytes entsprechen.

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. Mit dieser Einstellung wird festgelegt, ob der Treiber die Cursor schließt, wenn Sie SQLEndTran (oder SQLTransact) aufrufen.

Wert

Beschreibung

SQL_PC_OFF

Standardwert. Cursor werden geschlossen, wenn für Transaktionen ein Commit oder Rollback mit SQLEndTran ausgeführt wird.

SQL_PC_ON

Cursor werden nicht geschlossen, wenn für Transaktionen ein Commit oder Rollback mit SQLEndTran ausgeführt wird, außer wenn ein statischer oder ein 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 die Bereitstellung von Bezeichnern in Anführungszeichen lässt der SQL Server Native Client ODBC-Treiber ansonsten ungültige Objektnamen mit Leerzeichen wie "Meine Tabelle" zu. Weitere Informationen finden Sie unter SET QUOTED_IDENTIFIER.

Wert

Beschreibung

SQL_QI_OFF

Die SQL Server-Verbindung lässt keine Bezeichner in Anführungszeichen in gesendetem Transact-SQL zu.

SQL_QI_ON

Standardwert. Die Verbindung lässt Bezeichner in Anführungszeichen in gesendetem Transact-SQL zu.

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 wirkt sich nur auf Daten aus, die in den SQL Server-Spalten char, varchar und text 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

Standardwert. 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

Standardwert. 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 Attribut für die Momentaufnahmeisolation fest. Momentaufnahmeisolation kann nicht mit SQL_ATTR_TXN_ISOLATION festgelegt werden, da es sich hierbei um einen SQL Server-spezifischen Wert handelt. 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 Momentaufnahmeisolation finden Sie unter Arbeiten mit Snapshotisolation.

SQL_COPT_SS_USE_PROC_FOR_PREP

Dieses Attribut wird nicht mehr unterstützt, da SQL Server Native Client das Herstellen einer Verbindung mit SQL Server 6.5 nicht 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. (Diese Werte können auch mit SQLSetConnectOption festgelegt werden.)

Weitere Informationen zu SPNs finden Sie unter Dienstprinzipalnamen (SPN) in Clientverbindungen (ODBC).

SQL_COPT_SS_CONNECTION_DEAD

Dieses Attribut ist schreibgeschützt.

Weitere Informationen zu SQL_COPT_SS_CONNECTION_DEAD finden Sie unter SQLGetConnectAttr und unter Herstellen einer Verbindung mit einer Datenquelle (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...