打造更强的Java支持
2010-05-14 15:00:40 来源:WEB开发网清单 1 展示了用于建立到数据库的连接的多种技术中的一种。用于连接到 DB2 的 URL 是 jdbc:db2://localhost:50000/sample。DB2 服务器主机名是 localhost,为通信定义的端口是 50000(由 DB2 UDB 服务器的实例配置中的 SVCENAME 定义)。这个连接 URL 表明,应用程序将连接到 SAMPLE 数据库。清单 1 中的例子要求将一个用户 ID 和密码传递给数据库服务器,以便进行认证。连接到数据库服务器之后,便执行显式地引用 GHUTCHIS.STAFF 表的 SQL 查询,并返回结果集。您可以使用列名或列的位置从 JDBC 结果中检索数据。
清单 1. 用 DB2 Universal JDBC Driver 建立连接
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class T4DB2Connect { public static void main(String[] args) { try { // load the DB2 Driver Class.forName("com.ibm.db2.jcc.DB2Driver"); // establish a connection to DB2 Connection db2Conn = DriverManager.getConnection( "jdbc:db2://localhost:50000/sample", "testuser", "testpassword"); Statement st = db2Conn.createStatement(); String query = "SELECT job, decimal(avg(salary),10,2) " + "FROM ghutchis.staff GROUP BY job"; // execute the query ResultSet resultSet = st.executeQuery(query); System.out.println("Job " + "\tAverage Salary"); System.out.println("-----" + "\t--------------"); while (resultSet.next()) { String jobType = resultSet.getString("job"); double avgSal = resultSet.getDouble(2); System.out.println(jobType + "\t" + avgSal); } resultSet.close(); st.close(); db2Conn.close(); } catch (ClassNotFoundException cnfe) { cnfe.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } } }
JDBC 驱动程序包含在 db2jcc.jar 文件中;相应的许可文件是 called db2jcc_license_xxx.jar。在这个例子中,我们将连接到一个 DB2 UDB for Windows 服务器,所以要使用 db2jcc_license_cu.jar 文件。如果您打算将应用程序连接到 DB2 UDB for z/OS,那么需要 db2jcc_license_cisuz.jar 文件,这个文件是随 DB2 UDB Connect 和 DB2 UDB Enterprise Server Edition 产品一起提供的。
还可以使用 Java Property 对象来通过 Universal JDBC 驱动程序连接到 DB2 服务器。使用属性文件(或数据源属性)的方法使得用于建立连接的细节与应用程序源代码分离,从而简化了新 DB2 服务器环境中应用程序的安装(见清单 2)。
清单 2. 使用 Property 对象连接到 DB2
import java.util.Properties;
public class T4DB2ConnectProp {
public static void main(String[] args) {
try {
// load the DB2 Driver
Class.forName("com.ibm.db2.jcc.DB2Driver");
// establish a connection to DB2
Properties prop1 = new Properties();
prop1.put("user", "testuser");
prop1.put("password", "testpassword");
Connection db2Conn =
DriverManager.getConnection(
"jdbc:db2://localhost:50000/sample",
prop1);
更多精彩
赞助商链接