建立一个小的Domino数据库来试试JDBC驱动程序。要想像存取关系型数据库那样存取Domino数据库,你只要把视图当成表。这意味着一个SQL查询 select * from testtable where field1=’testdata1′ 中有一个 视图的名字是testtable 该视图将被存取。并且一个被称为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返回的结果, rsmd 是由方法 getMetaData() 返回的metadata 。

在获得从Domino返回的结果后, 这仅仅是一种决定怎样在把数据显示给用户之前格式化数据的情形。 我们提供简单的Java应用程序的源代码的下载, 你可以用它来给Domino数据库发送SQL查询。

要让这个例子运行,你必须修改这行代码:connectDB("JDBCTest.nsf", "<your server here>");
看看服务器上有 JDBCTest.nsf 数据库,然后从新编译这些代码。. 类路径应该包括 JdbcDomino.jar 文件的,就象标准的 Notes.jar.一样。