Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » SQL in Anwendungen verwenden » SQL Anywhere-Cursor » Anforderungen für SQL Anywhere-Cursor

 

JDBC

Die JDBC 3.0- und 4.0-Spezifikationen unterstützen die folgenden drei Cursortypen: insensitiv, sensitiv und nur für die Weitergabe asensitiv. Der SQL Anywhere JDBC-Treiber ist mit diesen JDBC-Spezifikationen kompatibel und unterstützt diese verschiedenen Cursortypen für ein JDBC ResultSet-Objekt. Es gibt jedoch Fälle, in denen der Datenbankserver keinen Zugriffsplan mit der erforderlichen Semantik für einen bestimmten Cursortyp erstellen kann. In diesen Fällen gibt der Datenbankserver entweder einen Fehler zurück oder er verwendet einen anderen Cursortyp. Siehe Sensitive Cursor.

Bei jConnect unterstützt das zu Grunde liegende Protokoll (TDS) Cursor auf dem Datenbankserver nur zum Weitergeben und nur zum Lesen, wenngleich jConnect die APIs zum Erstellen verschiedener Typen von Cursor gemäß der JDBC 2.0-Spezifikation unterstützt. Alle jConnect Cursor sind asensitiv, da das TDS-Protokoll die Ergebnisse der Anweisung in Blöcken puffert. Diese Blöcke von gepufferten Ergebnissen werden durchsucht, wenn die Anwendung einen insensitiven oder sensitiven Cursortyp suchen muss, der die Abrollfähigkeit unterstützt. Wenn die Anwendung vor den Anfang der zwischengespeicherten Ergebnismenge zurückblättert, wird die Anweisung erneut ausgeführt. Dies kann zu Inkonsistenzen der Daten führen, wenn die Daten zwischen den beiden Ausführungen der Anweisung geändert wurden.