打造更强的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);
更多精彩
赞助商链接
