我们的 java 应用程序将访问旧的大型机 db2 数据库。我记得在我之前的项目中,C++ 应用程序在部署之前需要 db2 绑定。在目前的项目中,所有的大型机应用,Cobol包也都需要做db2绑定。
使用 jdbc4 驱动程序的 java 应用程序是否也需要 db2 绑定?
IBM 提供的 JDBC 类型 IV 驱动程序将处理您需要做的所有事情。
驱动程序将 Java 对象适当地映射到 DB2。
我不知道在这种情况下“绑定”是什么意思。Java 不是 C++。
如果您使用标准 JDBC,那么您正在创建不需要在 DB2 端进行绑定的动态 SQL (PrepareStatement)。
但是,如果您使用 SQLj,您将需要“预编译”该代码以生成您的 .java 文件和另一个要在数据库中绑定的文件。
连接到大型机(系统 z 或 i)还是连接到 DB2 LUW 并不重要。这个概念对于所有平台都是相同的,因为 DB2 就是 DB2。
SQLj 不是很流行,但是在调优查询和改进数据访问方面非常强大,但是,正如您在 C 中所做的那样,代码必须分多个阶段进行开发,并且每次访问计划都必须重新绑定必须修改(新的统计数据、安全性等)
Data Studio 中的 SQLj 非常易于使用,而 DB2 中的 SQLj 与 Oracle 中的并不完全相同。
如果您的 DB2 版本支持动态语句缓存并启用(咨询您的 DBA),您可以使用 JDBC Type-4 驱动程序访问大型机 DB2 数据库(使用准备语句)而无需绑定。
DB2 将生成访问路径并将其在第一个请求中存储到缓存中。否则,您需要使用类似 SQLJ 的技术并绑定它们。