WEB开发网
开发学院数据库DB2 在 DB2 V9 for z/OS 中通过类型 2 连接支持多行获... 阅读

在 DB2 V9 for z/OS 中通过类型 2 连接支持多行获取

 2010-02-05 00:00:00 来源:WEB开发网   
核心提示: 如何确定是否对获取使用 MRF在包含 IBM DB2 Driver for JDBC and SQLJ 版本 3.7.xx、3.51.xx、4.1.xx 或更新版本的 T2zos (DB2 V9 for z/OS) 机器上运行 清单 1 中的样例程序,找到名为 jccTrace.txt 的 JC

如何确定是否对获取使用 MRF

在包含 IBM DB2 Driver for JDBC and SQLJ 版本 3.7.xx、3.51.xx、4.1.xx 或更新版本的 T2zos (DB2 V9 for z/OS) 机器上运行 清单 1 中的样例程序。找到名为 jccTrace.txt 的 JCC 跟踪文件。如前所述,在支持 MRF 的 T2zos 服务器上,如果 enableRowsetSupport 设置为 YES,T2zos 为游标准备 WITH ROWSET POSITIONING。

如果 jccTrace.txt 跟踪文件包含字符串 WITH ROWSET POSITIONING,这意味着启用了 MRF。如果没有启用 MRF,准备 FETCH 语句时将不包含行集定位。所以在这个例子中,您不能在跟踪文件中找到字符串 WITH ROWSET POSITIONING。

您还可以通过调用 ResultSet.getFetchSize() 确定特定 ResultSet 的 MRF 是否处于活动状态。如果 fetchSize 的返回值大于 1,那么就使用了 MRF。注意,这是 ResultSet 而不是 PreparedStatement 上的调用。

限制

由于受到 DB2 的限制,行集游标(MRF)与 T2zos (Fetch Continue) 中的渐进式流不兼容。

在 T2zos 中,如果您将 enableRowsetSupport 设置为 YES,并且服务器支持 MRF,那么 T2zos 将为游标准备 WITH ROWSET POSITIONING。不过,如果在游标中出现大对象或 XML,并且渐进式流使用默认值或设置为 on,将对 FETCH 语句关闭 MRF(OFF )。将重新准备 FETCH 语句,并且不包含行集定位。

T2zos 不知道从存储过程返回的游标是不是一个行集,因此 t2zos 驱动程序仅允许对存储过程执行单行获取。

T2zos 不支持从存储过程返回的并且是渐进式流形式的大对象或 XML。在获取继续 (T2zosCursor.getMoreData_) 调用期间,该情况可能导致抛出 -225 sqlcode。

如果游标中出现大对象或 XML,T2zos java 存储过程将关闭行集支持。

上一页  1 2 3 4 5  下一页

Tags:DB for OS

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接