I’ve a domino server on iSeries, I created a java agent to read/Update a db2 table located on a Linux DB2.
When I run the the agent as scheduled, I got following error in the log.nsf
23/07/2010 13:57:04 AMgr: Start executing agent ‘test’ in ‘ben/rdb1.nsf’
23/07/2010 13:57:08 Agent Manager: Agent printing: 00
23/07/2010 13:57:09 Agent Manager: Agent printing: Connection Done
23/07/2010 13:57:09 Agent Manager: Agent printing: Statement Done
23/07/2010 13:57:09 Agent Manager: Agent error: com.ibm.db2.jdbc.app.DB2DBException: COMMIT(*NONE) valid only if relational database SPD (product identification SQL09055) is a System i.
23/07/2010 13:57:09 Agent Manager: Agent error: at com.ibm.db2.jdbc.app.DB2SQLException.createDefaultException(DB2SQLException.java:40)
23/07/2010 13:57:09 Agent Manager: Agent error: at com.ibm.db2.jdbc.app.DB2SQLException.createException(DB2SQLException.java:131)
23/07/2010 13:57:09 Agent Manager: Agent error: at com.ibm.db2.jdbc.app.DB2StatementRuntimeImpl.SQLExecDirect(Native Method)
23/07/2010 13:57:09 Agent Manager: Agent error: at com.ibm.db2.jdbc.app.DB2StatementRuntimeImpl.execDirect(DB2StatementRuntimeImpl.java:174)
23/07/2010 13:57:09 Agent Manager: Agent error: at com.ibm.db2.jdbc.app.DB2Statement.commonExecDirect(DB2Statement.java:1289)
23/07/2010 13:57:09 Agent Manager: Agent error: at com.ibm.db2.jdbc.app.DB2Statement.executeQuery(DB2Statement.java:989)
23/07/2010 13:57:09 Agent Manager: Agent error: at JavaAgent.NotesMain(JavaAgent.java:48)
23/07/2010 13:57:09 Agent Manager: Agent error: at lotus.domino.AgentBase.runNotes(Unknown Source)
23/07/2010 13:57:09 Agent Manager: Agent error: at lotus.domino.NotesThread.run(Unknown Source)
23/07/2010 13:57:09 AMgr: Agent ‘test’ in ‘ben/rdb1.nsf’ completed execution
Here is a part of the agent, and it seems to block on the executeQuery line.
try {
Properties properties = new Properties ();
properties.put("user", "x");
properties.put("password", "y");
properties.put("true autocommit", "true");
// load the DB2 Driver
// Class.forName("com.ibm.db2.jcc.DB2Driver");
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// (Your code goes here)
Database database = agentContext.getCurrentDatabase();
DriverManager.registerDriver(new com.ibm.db2.jdbc.app.DB2Driver());
String url="jdbc:db2:SPD";
Connection dbConnect = DriverManager.getConnection(url, properties);
Statement stmt = dbConnect.createStatement();
System.out.println("Statement Done");
// Execute Query
ResultSet rs = stmt.executeQuery("SELECT * FROM RDB.images WHERE image_id='TEST'");
System.out.println("ResultSet Defined");
Any idea what it could be