【环境】:
oa: AS400(或者windows 2000server)、domino R5.0.8
fdinfo: linux、Tomcat、【数据库】:MySQL 3.23.57
开发工具: Lotus Designer R6.5.3
【方案一】:
JDBC
【具体内容】:
1、新建一个java代理。
属性设置: 共享 触发:按事件 运行时间:代理列表选择 目标: 无 作为Web用户运行 安全等级 3 |
2、使用以下代码:
import lotus.domino.*; import java.sql.*; import java.io.*; public class JavaAgent extends AgentBase { public void NotesMain() { try { // (code goes here) Session session = getSession(); AgentContext agentContext = session.getAgentContext(); Document doc = agentContext.getDocumentContext(); PrintWriter out = getAgentOutput(); Class.forName("org.gjt.mm.mysql.Driver"); System.out.println("load JDBC drivers succeed------JDBC Zu---"); //建立连接 Connection con =DriverManager.getConnection("jdbc:mysql://数据库ip地址或域名/数据库名?user=用户名&password=密码&useUnicode=true&characterEncoding=gb2312"); //&useUnicode=true&characterEncoding=gb2312可以解决插入记录中文乱码问题 if(!con.isClosed()) {System.out.println("connect to fdinfo DB succeed"); } else{System.out.println("con.isClosed"); } //然后创建一个JDBC声明 Statement stmt = con.createStatement(); //创建结果集 String TITLE= doc.getItemValueString("bt") ; //标题 String PUBLISH_DATE= doc.getItemValueString("PUBLISH_DATE") ; //时间日期 String UNIT= doc.getItemValueString("fbdw"); //单位 String URL= doc.getItemValueString("url") ; //URL地址 String SQL="INSERT INTO BRIEFING2 (TITLE, PUBLISH_DATE, UNIT, URL) VALUES ('"+TITLE+"','"+PUBLISH_DATE+"','"+UNIT+"','"+URL+"')"; stmt.executeUpdate(SQL); System.out.println("insert record succeed"); //关闭Statement实例; stmt.close(); stmt = null; //end } catch(Exception e) { e.printStackTrace(); } } } |
3、引入合适的JDBC驱动:
注: 驱动一定要找到最合适的版本,这里用到是mm.mysql-2.0.7-bin.jar 点击“编辑项目”,把jar文件引入当前代理 |
4、表单调用代理
表单提交时执行 @PostedCommand([ToolsRunMacro];"(代理名)"); |
5、总结
以上实例只实现了对MySQL数据库的数据插入工作,删除等功能不在此文讨论范围内 |