db2sqljcustomize -url jdbc:db2://9.23.190.24:50000/sample
-user db2admin -password mypsw DBConn_Type3j_SJProfile0
应确保已正确设置了环境变量(请参阅 表 1中的实例)
第三部分:执行程序 java DBConn_Type3j sample db2admin sample db2admin mypsw 9.23.190.24 5678- 该示例程序被设计为按此次序获取 5 个参数:<数据库别名> <用户 ID> <密码> <主机名或 IP 地址> <DB2 JDBC applet server 端口号>
- 请注意,‘sample’不是在命令 catalog db 中为数据库名指定的别名,而是如同在服务器中所定义的真正的数据库名称。实际上,本场景无需执行任何‘Catalog’命令
db2jstrt < 端口号> 若未提供端口号,则使用默认值 6789。请注意,这是一个需要在 JDBC 程序的 URL 中指定的端口号,而非一个 DB2 实例端口号。 每当执行命令 db2jstrt 时,都将创建进程 db2jd。 sample = 数据库名 db2admin = 服务器上的用户 ID mypsw = 服务器上的密码 9.23.190.24 = 服务器的 IP 地址 5678
= DB2 Java Applet Server 的端口号 图 19. DBConn_Type3j.sqlj 程序输出
在图 19 中,我们在执行应用程序的同一台机器上发出 db2jstrt,因为客户端和服务器端机器是同一台。否则,只需要在服务器端机器上发出该命令。
本文中由于篇幅限制,我们没有显示使用 SQLJ 以及 type 1、type 2(App 驱动程序)、type 2(通用驱动程序)或 type 4 驱动程序的其他示例程序。不过,我们已经测试了那些程序,并且在本文的补充文件中提供了它们。我们在 DB2 UDB for zSeries 和 DB2 UDB for iSeries 服务器上用所有这些程序进行了测试。下面的表 11 总结了所得到的结果。所提供的文件 SQLJResults.pdf 中还包括该表中所有示例的屏幕界面。
为了节省空间,我们将在表 11 中使用下列命名约定:
DB2 LUW = DB2 UDB for Linux,UNIX and Windows
DB2 z/OS = DB2 UDB for zSeries
DB2 iSeries = DB2 UDB for iSeries
表 11. SQLJ 示例程序测试结果
测试序号 所使用的配置定制批处理文件 SQLJ 示例程序名(名字告诉使用哪个 JDBC 驱动程序) 数据库平台 结果 1 bldsqljType2U.bat DBConn_Type1j.sqlj DB2 LUW OK 2 bldsqljType2U.bat DBConn_Type1j.sqlj DB2 z/OS OK 3 bldsqljType2U.bat DBConn_Type1j.sqlj DB2 iSeries 配置定制期间:SQLCODE -4499 故障已报告给 DB2 UDB 故障支持(PMR 号:18265,057,649) 4 bldsqljType2U.bat DBConn_Type2j.sqlj DB2 LUW OK 5 bldsqljType2U.bat DBConn_Type2j.sqlj DB2 z/OS 执行期间:连接成功,但是检索记录出错:SQL0804N
当前请求的应用程序参数无效。理由码“”。
该问题已被确认为故障:Defect #: 305549,APAR IY52277
6 bldsqljType2U.bat DBConn_Type2j.sqlj DB2 UDB for iSeries
与第 3 号测试实例相同
7 bldsqljType2U.bat DBConn_Type2j.sqlj DB2 LUW OK 8 bldsqljType2U.bat DBConn_Type2j.sqlj DB2 z/OS OK 9 bldsqljType2U.bat DBConn_Type2j.sqlj DB2 iSeries
与第 3 号测试实例相同
10 bldsqljType2U.bat DBConn_Type3j.sqlj DB2 LUW OK(与场景 9 相同) 11 bldsqljType2U.bat DBConn_Type3j.sqlj DB2 z/OS 不支持 Type 3 12 bldsqljType2U.bat DBConn_Type3j.sqlj DB2 iSeries 不支持 Type 3 13 bldsqljType2U.bat DBConn_Type4j.sqlj DB2 LUW OK 14 bldsqljType2U.bat DBConn_Type4j.sqlj DB2 z/OS OK 15 bldsqljType2U.bat DBConn_Type4j.sqlj DB2 iSeries
与第 3 号测试实例相同
16 bldsqljType4.bat DBConn_Type1j.sqlj DB2 LUW OK 17 bldsqljType4.bat DBConn_Type1j.sqlj DB2 z/OS OK 18 bldsqljType4.bat DBConn_Type1j.sqlj DB2 iSeries OK 19 bldsqljType4.bat DBConn_Type2j.sqlj DB2 LUW OK 20 bldsqljType4.bat DBConn_Type2j.sqlj DB2 z/OS 与第 5 号测试实例相同 21 bldsqljType4.bat DBConn_Type2j.sqlj DB2 iSeries 执行期间:连接成功,但是检索记录出错:
SQL0607N 没有给系统对象定义“SYSIBM .SYSDUMMY1”。
该故障已报告给 DB2 UDB 故障支持。PMR 与第 3 号实例中的相同:18265,057,649。
22 bldsqljType4.bat DBConn_Type2Uj.sqlj DB2 LUW OK 23 bldsqljType4.bat DBConn_Type2Uj.sqlj DB2 z/OS OK 24 bldsqljType4.bat DBConn_Type2Uj.sqlj DB2 iSeries OK 25 bldsqljType4.bat DBConn_Type3j.sqlj DB2 LUW OK 26 bldsqljType4.bat DBConn_Type3j.sqlj DB2 z/OS 不支持 Type 3 27 bldsqljType4.bat DBConn_Type3j.sqlj DB2 iSeries 不支持 Type 3 28 bldsqljType4.bat DBConn_Type4j.sqlj DB2 LUW OK 29 bldsqljType4.bat DBConn_Type4j.sqlj DB2 z/OS OK 30 bldsqljType4.bat DBConn_Type4j.sqlj DB2 iSeries OK
表 12. 常见错误的解决方案
错误 适用于 解决方案 1 java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified JDBC Type 1(在 JDBC 或 SQLJ 中) 因为 Type 1 JDBC 驱动程序是基于 ODBC 驱动程序的,所以应确保已编目 ODBC 数据源。关于详细信息,请参阅本文的场景 2。
确保为数据库指定正确的名称。
通过从 CLP 进行连接测试是否已为数据库正确编目:
db2 connect to <dbname> user <userid> using <psw>
2 SQL30082N Attempt to establish connection failed with security reason "24" ("USERNAME AND/OR PASSWORD INVALID"). SQLSTATE=08001 所有 确保指定正确的用户 ID 和密码。如果使用 ODBC、CLI、JDBC Type 1、2、2U,那么通过从 CLP 进行连接测试是否已为数据库正确编目:
db2 connect to <dbname> user <userid> using <psw> 3 SQL1013N The database alias name or database name "<dbname>" could not be found. SQLSTATE=42705 所有 确保为数据库指定正确的名称。如果使用






