怎么样在AS400平台上将lotus domino连接外部关系数据库SQL Server 2000?
怎么样在AS400平台上将lotus domino连接外部关系数据库SQL Server 2000?
在AS400平台上lotus domino连接 外部 关系数据库 SQL Server 2000
【环境】:
oa: AS400(或者windows 2000server)、domino R5.0.9
fdinfo: linux、Tomcat、
数据库: SQL Server 2000
开发工具:Lotus Designer R6.5.3
【方案一】:
JDBC
【具体内容】:
1、新建一个java代理。
属性设置:
共享
运行此代理的时间:从代理列表中选择执行
指定代理操作的文档:运行一次(可能使用@Command)
目标: 无
作为Web用户运行
安全等级 3
2、使用以下代码:
import lotus.domino.*;
import java.sql.*;
import java.io.*;
import java.util.Vector;
public class JavaAgent extends AgentBase {
public void NotesMain() {
PrintWriter response=getAgentOutput();
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("load JDBC drivers succeed------JDBC ---");
//建立连接
Connection con =DriverManager.getConnection
("jdbc:microsoft:sqlserver://192.168.86.37:1433;
DatabaseName=SMSServer","sa","*******");
if(!con.isClosed()) {
System.out.println("connect to fdinfo DB succeed");
//response.println("connect to fdinfo DB succeed/n");//浏览器输出
} else{
System.out.println("con.isClosed");
response.println("con.isClosed/n");//浏览器输出
}
Statement stmt=null;
String sender=”aaaaa”;
String msg=”bbbbb”;
String ReceiverMobileNo=”123456789”;
String SQL="INSERT INTO OutBox
(ExpressLevel,Sender,ReceiverMobileNo,Msg,Url)
VALUES (0,'"+sender+"','"+ReceiverMobileNo+"','"+msg+"',0)";
stmt.executeUpdate(SQL);
System.out.println("insert record succeed");
//关闭Statement实例;
stmt.close();
stmt = null;
response.println("succeed/n");//浏览器输出
}catch(SQLException e1){
e1.printStackTrace();
response.println("err/n");//错误
}
} catch(Exception e) {
e.printStackTrace();
response.println(e);//错误
}
}
}
3、引入合适的JDBC驱动:
注: 驱动一定要找到最合适的版本,这里用到是msbase.jar, mssqlserver.jar, msutil.jar
点击“编辑项目”,把jar文件引入当前代理
4、表单调用代理
我选择的是执行热点时候
@Command([ToolsRunMacro];"test");
5、总结
以上实例只实现了对SQL Server 2000数据库的数据插入工作,删除等功能不在此文讨论范围内