sample db2admin mypsw 9.23.190.24 50000
- 该示例程序被设计为按此次序获取 5 个参数:<数据库别名> <用户 ID> <密码> <主机名或 IP 地址> <DB2 实例端口号>
- 请注意,‘sample’不是在命令 catalog db 中为数据库名指定的别名,而是如同在服务器中所定义的真正的数据库名称。实际上,本场景无需执行任何‘Catalog’命令。
- 连接 DB2 UDB for z/OS、OS/390 和 iSeries 时需专门考虑:
- DB2 Connect 软件是必要的,因为它带来所需的许可文件: db2jcc_license_cisuz.jar
- 在指定数据库名时,务必使用大写体。而用户 ID 和密码并不区分大小写。这在程序输出中得到了显示。
- DB2 UDB type 4 驱动程序需要 DB2 UDB 目标服务器上作为先决条件的存储过程和视图。DB2 UDB for Linux、UNIX 和 Windows V8 具有所需的存储过程和视图。而在 DB2 on OS/390 中,则必须手工安装这些存储过程。可以从 http://www.ibm.com/software/data/db2/os390/spb/sprocedure/index.html 网站获得关于给 DB2 for OS/390 Version 6 和 Version 7 安装这些存储过程的信息
db2admin = 服务器上的用户 ID
mypsw = 服务器上的密码
9.23.190.24 = 服务器的 IP 地址
50000 = 该服务器上 DB2 UDB 实例的端口号。(对于 DB2 zSeries 和 iSeries,它通常为 446)。关于如何获得 DB2 UDB zSeries 和 iSeries 的端口号的更多详细信息,请查看该系列文章的 第 1 部分(场景 2 和 4) 图 17. DBConn_Type4.java 程序输出场景 9 - 使用 SQLJ 连接 DB2 UDB 数据库(任何平台)
图 18. 从 DB2 UDB for Linux、UNIX 和 Windows SQLJ 应用程序客户机连接到 DB2 UDB(任何平台)清单 8 中提供了 SQLJ 示例程序 DBConn_Type3j.sqlj。
清单 8. DBConn_Type3j.sqlj
//************************************************************************ // SOURCE FILE NAME: DbConn_Type3j.sqlj //************************************************************************ import java.sql.*; import sqlj.runtime.*; import sqlj.runtime.ref.*; class DBConn_Type3j { public static void main(String argv[]) { // Check arguments if (argv.length < 5) { System.out.println("Usage: java DBConn_Type3j <database name> <userid> <password> <server hostname> <DB2 Java Applet Server Port number>"); return; } try { String dbname = argv[0]; String userId = argv[1]; String password = argv[2]; String server = argv[3]; String portNumber = argv[4]; String url = "jdbc:db2://" + server + ":" + portNumber + "/" + dbname; String h_ibmreqd = null; // Registering the Type 3 driver and connecting Class.forName(" COM.ibm.db2.jdbc.net.DB2Driver").newInstance(); DriverManager.getConnection( url, userId, password ); DefaultContext ctx = new DefaultContext(DriverManager.getConnection (url, userId, password) ); DefaultContext.setDefaultContext(ctx); System.out.println( " Successful connection to '" + dbname + "' db using SQLJ with JDBC type 3 Net driver" ); // Retrieving a record from a table // There is only one record in SYSIBM.SYSDUMMY1. Note that if you // are not a DB2 instance owner, you may have to issue this command // before running this program: // db2 GRANT select on sysibm.sysdummy1 to public #sql [ctx] {select IBMREQD INTO :h_ibmreqd from sysibm.sysdummy1}; System.out.println( " Successful retrieval of record. Column 'IBMREQD' has a value of '" + h_ibmreqd + "'"); // Closing context, disconnecting if( ctx != null ) { ctx.close(); } System.out.println( " Successful Disconnection from database '" + dbname + "'" ); System.out.println(" End of Program"); } catch (Exception e) { System.out.println("*** Error ***"); System.out.println( e.toString() ); } } // main } // DBConn_Type3j
表 10. 使用 SQLJ 从 DB2 UDB for Linux、 UNIX 和 Windows 连接到 DB2 UDB 服务器(任何平台)
Machine 1(‘myblue’)DB2 UDB for Linux、UNIX 和 Windows Machine 2(‘aries’)DB2 UDB 服务器(任何平台) 在这台机器上运行下列命令: 您需要从这台机器上获取下列信息,以便在 machine 1 上执行命令: 第一部分:配置连通性 请参阅场景 4、5、6、7 和 8,这取决于您打算使用的 JDBC 驱动程序类型 第二部分:编译并定制 SQLJ 程序 在这个例子中,示例程序使用 IBM DB2 UDB JDBC Type 3 驱动程序进行编译。发出 sqlj DBConn_Type3j.sqlj 命令进行编译。
我们使用命令 db2sqljcustomize(在 DB2 的先前版本中,该命令为 db2profc)来配置定制程序。该命令也是一个使用 type 2 或 type 4 通用 JDBC 驱动程序的 Java 程序。基于您调用 db2sqljcustomize 的方式,我们将通过使用其中一种 JDBC 驱动程序连接数据库来完成定制工作。
- 使用 Type 2 通用驱动程序的配置定制器:
db2sqljcustomize -url jdbc:db2:sample
-user db2admin -password mypsw DBConn_Type3j_SJProfile0
或
- 上一篇教程: 如何在DB2上为AIX5L设置unixODBC
- 下一篇教程: 监控和估计






