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

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - 编程 » 在应用程序中使用 SQL » SQL Anywhere 游标 » 请求 SQL Anywhere 游标

 

JDBC

JDBC 3.0 和 4.0 规范支持三种游标类型:不敏感、敏感和只进敏感性未定。SQL Anywhere JDBC 驱动程序符合这些 JDBC 规范,也支持 JDBC ResultSet 对象的三种不同的游标类型。但是,在一些情况下,数据库服务器无法使用给定游标类型所需的语义构造访问计划。在这些情况下,数据库服务器或者返回错误,或者用其它游标类型替代。请参见敏感游标

使用 jConnect 时,尽管 jConnect 支持的 API 可按照 JDBC 2.0 规范创建不同的游标类型,但在数据库服务器上底层协议 (TDS) 却仅支持只进、只读敏感性未定型游标。因为 TDS 协议将语句的结果集缓存在块中,所以所有 jConnect 游标都是敏感性未定型。应用程序需要滚动支持可滚动性的不敏感或敏感游标类型时,会滚动这些缓存结果的块。如果应用程序向后滚动时越过高速缓存的结果集的开头,就会再次执行语句。在这种情况下,如果在两次语句执行之间更改了数据,就会导致数据不一致。