|
|
来源:东海龙宫 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)
|
|