db2 catalog db sample at node mynode
db2 terminate
请参阅该系列文章的 第 1 部分以获得连通性设置的详细指导。 第二部分:预编译和绑定
- db2 connect to sample user db2admin using mypsw
- db2 prep dbconn_embed.sqc bindfile
- db2 bind dbconn_embed.bnd
- db2 connect reset
预编译命令(prep)将分析文件 dbconn_embed.sqc 并且创建两个文件:dbconn_embed.c(纯 C 代码)和 dbconn_embed.bnd(只含 SQL 的绑定文件)
然后,您需要将绑定文件 dbconn_embed.bnd 绑定,以便在数据库中创建包;因此,应该在发出该命令之前连接到数据库。
第三部分:编译程序- cl -Zi -Od -c -W2 -DWIN32 dbconn_embed.c
- link -debug -out:dbconn_embed.exe dbconn_embed.obj db2api.lib
- DB2 运行时客户机已经足够运行这个 CLI 程序了;然而,如果要像在本例中一样,需要对您开发的程序进行编译,那么您就需要 DB2 UDB 应用程序开发客户机(DB2 UDB Application Development client)。
- 应确保已正确设置了环境变量(请参阅 表 1中的实例)。
dbconn_embed sample db2admin mypsw
- 该示例程序被设计为按此次序获取 3 个参数:<数据库名> <用户 ID> <密码>
- ‘Sample’是此客户端机器上的 catalog db 命令中为数据库名指定的别名。默认情况下,如果没有在该命令中指定别名,那么数据库名就相当于别名。
场景 4 - 使用 SUN type 1 驱动程序(JDBC - ODBC 桥)连接 DB2 UDB 数据库(任何平台)
由于 type 1 驱动程序是将 JDBC 方法调用转换为 ODBC 函数调用,所以它提供的性能通常比其他驱动程序类型要慢。为了使内容完整,我们将介绍这种场景;不过,我们推荐您使用任何其他的 IBM DB2 JDBC 驱动程序。您可以通过下载(免费)任何 IBM DB2 UDB 客户机来获取它们。
鉴于该驱动程序将使用 ODBC,请确保在使用这个 JDBC 驱动程序之前,已经按场景 2 中所描述的那样注册了 ODBC 数据源。
图 8. 使用 SUN type 1 驱动程序从 DB2 UDB for Linux、UNIX 和 Windows JDBC 应用程序客户机连接到 DB2 UDB 服务器(任何平台)清单 3 提供了 JDBC 示例程序 DBConn_Type1.java。
清单 3. DBConn_Type1.java
//***************************************************************** //SOURCE FILE NAME: DBConn_Type1.java //***************************************************************** import java.sql.*; class DBConn_Type1 { public static void main(String argv[]) { // Check arguments if (argv.length < 3) { System.out.println("Usage: java DBConn_Type1 <database name> <userid> <password>"); return; } try { String dbname = argv[0]; String userId = argv[1]; String password = argv[2]; String url = " jdbc:odbc:" + dbname; String v_IBMREQD = null; // Registering driver and connecting Class.forName(" sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); Connection con = DriverManager.getConnection( url, userId, password ); System.out.println( "Successful connection to '" + dbname + "' db using JDBC type 1 driver" ); // Retrieving a record from a table Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT IBMREQD FROM SYSIBM.SYSDUMMY1"); // 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 while ( rs.next() ) { v_IBMREQD = rs.getString(1); } System.out.println( "Successful retrieval of record. Column 'IBMREQD' has a value of '" + v_IBMREQD + "'"); // Closing statement stmt.close(); // Disconnecting con.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_Type1
表 5. 使用 Sun JDBC Type 1 驱动程序从 DB2 UDB for Linux、UNIX 和 Windows 连接到 DB2 UDB 服务器(任何平台)
Machine 1(‘myblue’)DB2 UDB for Linux、UNIX 和 Windows Machine 2(‘aries’)DB2 UDB 服务器(任何平台) 在这台机器上运行下列命令: 您需要从这台机器上获取下列信息,以便在 machine 1 上执行命令: 第一部分:配置连通性 db2 catalog tcpip node mynode remote 9.23.190.24 server 50000
db2 catalog db sample at node mynode
db2 terminate
请参阅该系列文章的 第 1 部分以获得连通性设置的详细指导 第二部分:将数据库注册为 ODBC 数据源 详细情况请参阅本文的场景 2 第三部分:编译使用 SUN Type 1 驱动程序的 JDBC 程序 javac DBConn_Typ






