Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Microsoft ODBC-Treiber für DB2 bietet Flexibilität bei Problemen mit Isolationsstufen und Transaktionsstatus. Die ODBC SQLSetConnectAttr-Funktion wird verwendet, um die Isolationsstufe festzulegen, die für eine Verbindung verwendet werden soll. Diese Funktion wird aufgerufen, wobei der Attributparameter auf SQL_ATTR_TXN_ISOLATION und der ValuePtr-Parameter auf einen ganzzahligen Wert verweist, der die angeforderte Isolationsstufe angibt. Dieser ganzzahlige Wert ist eine 32-Bit-Bit-Bit-Maske, die die Transaktionsisolationsstufe für die aktuelle Verbindung festlegt.
Die zulässigen Werte für die Isolationsebene (der ValuePtr-Parameter beim Aufrufen von SQLSetConnectAttr) können durch Aufrufen von SQLGetInfo mit InfoType gleich SQL_TXN_ISOLATION_OPTION bestimmt werden. In der folgenden Tabelle sind die zulässigen Werte für die Isolationsstufe unter Verwendung des ODBC-Treibers für DB2 aufgeführt, der mit Host Integration Server bereitgestellt wird.
ODBC-Isolationsebene-Attribut | BESCHREIBUNG |
---|---|
SQL_TXN_READ_COMMITTED | Wenn dieser Attributwert festgelegt ist, werden alle Daten isoliert, die von anderen gelesen werden, und Änderungen, die von anderen vorgenommen wurden, können nicht sichtbar werden. Die erneute Ausführung der READ-Anweisung wird von anderen beeinflusst. Ein wiederholbarer Lesevorgang wird nicht unterstützt. Dies ist der Standardwert für die Isolationsstufe. Diese Isolationsstufe heißt in der IBM DB2-Dokumentation auch Cursor Stability (CS). |
SQL_TXN_READ_UNCOMMITTED | Wenn dieser Attributwert festgelegt ist, isoliert er keine Daten, die von Anderen gelesen werden, und Änderungen, die von anderen vorgenommen werden, können angezeigt werden. Die erneute Ausführung der READ-Anweisung wird von anderen beeinflusst. Ein wiederholbarer Lesevorgang wird nicht unterstützt. Diese Isolationsstufe heißt in der IBM DB2-Dokumentation Uncommitted Read (UR). |
SQL_TXN_REPEATABLE_READ | Wenn dieser Attributwert festgelegt ist, werden alle Daten isoliert, die von anderen gelesen werden, und änderungen, die von anderen vorgenommen werden, können nicht angezeigt werden. Die erneute Ausführung der READ-Anweisung wird von anderen beeinflusst. Ein wiederholbarer Lesevorgang wird unterstützt. Diese Isolationsstufe heißt in der IBM DB2-Dokumentation Read Stability (RS). |
SQL_TXN_SERIALIZABLE | Wenn dieser Attributwert festgelegt ist, werden alle Daten isoliert, die von anderen gelesen werden, und Änderungen, die von anderen vorgenommen wurden, können nicht sichtbar werden. Die erneute Ausführung der READ-Anweisung wird von anderen nicht beeinflusst. Ein wiederholbarer Lesevorgang wird unterstützt. Diese Isolationsstufe heißt in der IBM DB2-Dokumentation Repeatable Read (RR). |
Das attribut SQL_ATTR_TXN_ISOLATION kann nur festgelegt werden, wenn keine offenen Transaktionen für die Verbindung vorhanden sind. Eine Anwendung muss SQLEndTran aufrufen, um alle geöffneten Transaktionen für eine Verbindung zu committen oder rollbacken, bevor SQLSetConnectAttr mit dieser Option aufgerufen wird.
Einige Verbindungsattribute unterstützen das Ersetzen eines ähnlichen Werts, wenn die Datenquelle den in ValuePtr angegebenen Wert nicht unterstützt. In solchen Fällen gibt der Treiber SQL_SUCCESS_WITH_INFO und SQLSTATE 01S02 (Optionswert geändert) zurück. Um den ersetzten Wert zu ermitteln, ruft eine Anwendung SQLGetConnectAttr auf.