I’ve create an agent to connect with jdbc, it works perfectly the first time, the second …
but when it’s used some times it gets me the next message and it doesn’t work and I should restart the http server
//////////////////////////////////////////////////
15/04/2005 10:17:20 AM HTTP JVM: Writing Heap dump …
15/04/2005 10:17:20 AM HTTP JVM: // Version: J2RE 1.3.1 IBM build cxia32131-20031021
15/04/2005 10:17:20 AM HTTP JVM: 0x10000200 [16]
15/04/2005 10:17:20 AM HTTP JVM: primitive array
15/04/2005 10:17:20 AM HTTP JVM: 0x10000210 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseSQLListPartManipulator
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000310 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseSQLTreeTraversalVisitor
15/04/2005 10:17:20 AM HTTP JVM: 0x10e69748
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000410 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseSQLListManipulator
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000510 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseSQLTreePreOrderTraverser
15/04/2005 10:17:20 AM HTTP JVM: 0x10e69748
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000610 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseSQLTreeTraverser
15/04/2005 10:17:20 AM HTTP JVM: 0x10e69748
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000710 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseSQLParser_Full
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000810 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseSQLParser_ParametersAndEscapes
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000910 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseSQLParser
15/04/2005 10:17:20 AM HTTP JVM: 0x10e6a018
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000a10 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseSQLParser_PassThrough
15/04/2005 10:17:20 AM HTTP JVM: 0x10ea9ab8
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000b10 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseSQL
15/04/2005 10:17:20 AM HTTP JVM: 0x10eac0b8
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000c10 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseParameter
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000d10 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseData
15/04/2005 10:17:20 AM HTTP JVM: 0x10ead808
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000e10 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/sqlserver/SQLServerImplResultSetServerSideCursor
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10000f10 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/sqlserver/SQLServerImplResultSet
15/04/2005 10:17:20 AM HTTP JVM: 0x10eacee8
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10001010 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/sqlserver/tds/TDSCursorRequest
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10001110 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseTableTypesImplResultSet
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10001210 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseTypeInfoImplResultSet
15/04/2005 10:17:20 AM HTTP JVM:
15/04/2005 10:17:20 AM HTTP JVM: 0x10001310 [256]
15/04/2005 10:17:20 AM HTTP JVM: class com/microsoft/jdbc/base/BaseBatchUpdateException
…
…
…
///////////////////////////////////////////////////////////////////////////
This is the agent:
import lotus.domino.*;
import java.io.*;
import java.sql.*;
public class ConectJDBC extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Database db = agentContext.getCurrentDatabase();
Agent agent = agentContext.getCurrentAgent();
lotus.domino.Document Mydoc = db.getDocumentByID(agent.getParameterDocID());
String Remitente=Mydoc.getItemValueString("Remitente");
String Email=Mydoc.getItemValueString("Email");
String Fecha=Mydoc.getItemValueString("Fecha");
String Titulo=Mydoc.getItemValueString("Titulo");
String Cuerpo=Mydoc.getItemValueString("Cuerpo");
Mydoc.remove(true);
lotus.domino.Document docConf = db.getProfileDocument ("Configuracion", "Configuracion");
String conx = docConf.getItemValueString("SIDOracle");
String CodDepart=docConf.getItemValueString("CodDepart");
String CodCat=docConf.getItemValueString("CodCat");
String CodEstado=docConf.getItemValueString("CodEstado");
String CodPrioridad=docConf.getItemValueString("CodPrioridad");
String CodAsignar=docConf.getItemValueString("CodAsignar");
String CodIntroducido=docConf.getItemValueString("CodIntroducido");
int nid=0;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection (conx);
if (con!=null) {
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Statement stmt_1=con.createStatement();
ResultSet results_1 = stmt_1.executeQuery("SELECT * FROM db_keys");
while(results_1.next()) {
nid=results_1.getInt("problems");
}
results_1.close();
results_1=null;
stmt_1.close();
stmt_1=null;
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Statement stmt_2=con.createStatement();
stmt_2.executeUpdate ("UPDATE db_keys SET problems=" + (nid+1));
stmt_2.close();
stmt_2=null;
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
String sql="INSERT INTO problems (id, uid, uemail, ulocation,uphone, rep, status, time_spent, category, ";
sql=sql + "priority, department, title, description, solution, start_date, entered_by, kb) ";
//System.out.println(sql);
String sql1= " values(" + nid + ", '";
sql1=sql1 + Remitente + "', '";
sql1=sql1 + Email + "', '', '', ";
sql1=sql1 + CodAsignar + ", ";
sql1=sql1 + CodEstado + ", 0, ";
sql1=sql1 + CodCat + ", ";
sql1=sql1 + CodPrioridad + ", ";
sql1=sql1 + CodDepart + ", '";
sql1=sql1 + Titulo+ "', '";
sql1=sql1 + Cuerpo+ "', '', '";
sql1=sql1 + Fecha+ "', ";
sql1=sql1 + CodIntroducido + ", 0 )";
//System.out.println(sql1);
sql=sql + sql1;
Statement stmt_3=con.createStatement();
stmt_3.executeUpdate (sql);
stmt_3.close();
stmt_3=null;
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
con.close();
con=null;
} //fin con <> null
}
catch(Exception e) {
PrintWriter pw = this.getAgentOutput();
pw.println("Error Exception");
e.printStackTrace();
}
} // end NotesMain()
}
////////////////////////////////////////////////////////////////////////////////////////////////
Any idea?
Tanks a lot