发信人: 263_syf()
整理人: kamkam(2002-05-01 23:51:19), 站内信件
|
使用 JDBC 存取 Domino
来源:东海龙宫 http://syfang.yeah.net
原著:Globebyte
翻译:商云方
内容:
使用Java? 这儿有一些确实很有帮助的东西. Java 数据库连接 (JDBC) 允许我们 使用SQL来存取关系型数据库. 这也包括Domino ,尽管Domino不是关系型数据库. 所以我们可以使用JDBC存取Domino数据库,并使用SQL查询Domino数据库。
我们建立一个小的Domino数据库来试试JDBC驱动程序。要想像存取关系型数据库 那样存取Domino数据库,你只要把视图当成表。这意味着一个SQL查询 select * from testtable where field1='testdata1' 中有一个 视图的名字是testtabl e 该视图将被存取。并且一个被称为field1的列将被检查。
要使用JDBC来存取Domino数据库,Java应用程序必须完成以下步骤:
1) 为用户建立UI用于输入他们的数据。
2) 建立一个连接对象并初始化该对象。
3) 打开数据库。
4) 接受用户输入的查询,并建立一个查询对象 。
5) 用用户的查询要求来查询数据库。
6) 返回结果给用户。
7) 关闭和服务器的连接。
下面和数据库建立连接的主要代码...
String url = "jdbc:domino:/"+DB+"/"+Server;
try {
Class.forName("lotus.jdbc.domino.DominoDriver");
}catch (ClassNotFoundException ce) {
System.out.println("ClassNotFoundException: " + ce.getMessage()) ;
}
try {
con = DriverManager.getConnection(url,"","");
} catch (SQLException se) {
System.out.println("SQLException: " + se.getMessage());
}
代码 String url = "jdbc:domino:/"+DB+"/"+Server; 把由CALL方法传给该方法 的两个参数加起来以建立连接 ,连接被如下代码初始化 con = DriverManager. getConnection(url,"","");.
并执行如下查询...
private void doQuery() throws Exception {
//do SQL query into Notes db...
sql = txtInput.getText();
txtOutput.append("\n***" + sql + "***\n Executing...\n");
stmnt = con.createStatement();
rs = stmnt.executeQuery(sql);
rsmd = rs.getMetaData();
}
stmnt 是一个 SQL 语句对象, rs 是方法executeQuery(sql)t返回的结果, rsm d 是由方法 getMetaData() 返回的metadata 。
在获得从Domino返回的结果后, 这仅仅是一种决定怎样在把数据显示给用户之前 格式化数据的情形。 我们提供简单的Java应用程序的源代码的下载, 你可以用 它来给Domino数据库发送SQL查询。
要让这个例子运行,你必须修改这行代码:connectDB("JDBCTest.nsf", "<your server here>");
看看服务器上有 JDBCTest.nsf 数据库,然后从新编译这些代码。. 类路径应该包 括 JdbcDomino.jar 文件的,就象标准的 Notes.jar.一样。
Zipped Notes .nsf file and .java source code file (30Kb)
-- 岁月匆匆
人生几何
得行乐时且行乐
莫叫青春白度
http://syfang.yeah.net
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.198.213]
|
|