Problem with Java Agent - Connection jdbc

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