JDBC DB2  UPDATE_INSERT Delay

Hello everybody,
I have the following asynchronous scenario
SAP ECC IDOC -> SAP PI 7.11 - > JDBC DB2 Database
now, I receive ARTMAS Idoc's from ECC and do mapping to create XML Query statements, now mapping is working correclty and UPDATE_INSERT statements also, the problem is that the Adapter Engine sends the statements, the database recieves them and process them in milliseconds each, and when the database finished ,PI keeps waiting for something for 2 minutes and 6 seconds each message, I already did the following:
1.- Tried Idoc packaging in development in Mapping to send as much statements as I can considering bandwith, but the problem remains.
2.- I tried sending only one stamente and takes the same time.
3.- I already disabled in SAP PI the acknowledge for the Idocs and times are the same.
4.- I already tried the option "Disconnect from database after each message" with this checkbox activated and deactivated, and the times still the same.
5.- Already tried the Isolation level with all different options and times still the same.
6.- Pool waiting advanced parameter not defined so it should take the default that is 5 seconds, but I'm not sure that parameter can control that, do you think?
The readl problem after monitoring both PI and the database is that the database finishes really fast but PI still waits for something I don't know what for more than two minutes for each message, this creates queueing of messages in the Adapter Engine for this interface, cause each message takes this time.
I thank in advance your attention and recomendations.
Regards,
Julio

PI should be waiting back the response with the count of recordsinserted or updated. and this delay corresponde with the time that DB take to insert or update the fields i think
see this. i took it from help sap.
did you configured the response mapping?
action=UPDATE_INSERT
The statement has the same format as for the UPDATE action. Initially, the same action is executed as for UPDATE. If no update to the database table can be made for this action (the condition does not apply to any table entry), values of the table described in the <access> element are inserted in accordance with the description of the action INSERT. <key> elements are ignored in this case.
The response document has the following format; one of the two values is always 0 because either an UPDATE or an INSERT action is always executed:
<update_count>count</update_count>
<insert_count>count</insert_count>

Similar Messages

  • Jdbc DB2 multiple Connection in CRON

    I need to run a Java app via CRON (SunOS) that copies data from tables in one database and inserts them into identical tables in a second database. The databases are in different instances. For the CRONS I've written that work with one database - I usually set environment vars (DB2INSTANCE, INSTHOME) in the shell script and it finds the database but that doesnt work with two databases in different instances. I thought maybe I could change the connection code to be more specific about where to find the database - but I can't figure out how. Here is the current connection code (it is the same except for dbname, username, password for both databases).
    java.sql.Connection con = null;
    Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
    con=DriverManager.getConnection("jdbc:db2:dbname","username","passwd");
    con.setAutoCommit(false);
    con.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
    Is there some way I can specify host and/or port? Please help.
    Thank you in advance
    ...annie

    You might not be able to do that with you jdbc driver.
    If it is possible then you probably need to look into the specifics of how the connection works. Right now you are defining something in the OS (the env vars) that specifies some connection information. You need to figure out how to do that entirely in the connection strings.
    You might search this sight using the key works "connetion-less" and "DB2". That might help. If not then search just for "connection-less" and start looking through IBM docs to see if it is possible.

  • Jar for classname:weblogic.jdbc.db2.DB2Driver

    Hi All:
    Does anybody knows what is the jar files that comes with weblogic 8.1 sp5 for the jdbc class name:
    weblogic.jdbc.db2.DB2Driver
    Yours,
    ThankFull

    albert Lam wrote:
    Hi:
    I used the following java classname:weblogic.jdbc.db2.DB2Driver
    url:
    jdbc:bea:db2://development.ammis.db.test.com:446
    in my weblogic connection pool and it works.
    But I am now trying to connect to the db2 database server not from weblogic but from dbVisualer client.
    When using DBVisualar client, I needed to know what is the jar file in C:\bea\weblogic81\server\lib\ THAT CONTAINS THE CLASSNAME:weblogic.jdbc.db2.DB2Driver
    YOURS,
    THANKFULLThat's not supported. We do not provide our drivers for use outside WebLogic.
    Joe

  • Weblogioc.jdbc.db2.DB2Driver

    I have weblogic 8.1 on my local machine and When trying to create a connection pool to db2 on z\os. I get the following message :
    "The selected database driver is not installed in the classpath. You must install the driver to create a working connection pool".
    So I need help on the following:
    1. Where can I go find the driver class weblogioc.jdbc.db2.DB2Driver.
    2. How to I install it in the classpath.
    Looking forward to your replies.
    Milenko

    for 81sp4 the driver can be found in location http://commerce.bea.com/d2d/wlplat81sp4_db2_patch.jsp
    You can download and extract wls81sp4_db2_patch.jar. Set the same in your CLASSPATH. This should help you

  • Problems with Class.forName("com.sun.sql.jdbc.db2.DB2Driver")

    In sun java studio enterprise 8
    I'm able to connect to my local DB2 sample database by creating a database schema.
    But when I try to execute a java class (main) using
    Class.forName("com.sun.sql.jdbc.db2.DB2Driver"). It returns a not found condition.
    what am I doing wrong? do I have to point the classpath to some directory?

    try to add jar containing driver to
    Your project -> Properties -> Libraries -> Run list.

  • Jdbc Reaciver UPDATE_INSERT

    Hey Guys,
    Here i am doing an Update_INSERT Senario.
    I am following ..Below documnets.
    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm.
    Statement
    TableName
       Action= UPDATE_INSERT
       MYTABLE
      access
        Feild1   is Primarykey
        feild2   is Primarykey
        feild3
      Key
        Feild1  
    Here i should not insert a Doublicate values in ORacle can some one help me here
    Thanks for helping me all these days
    Regd's
    Raj

    Raj,
    hmm.. now this is tricky.
    One option ~~ Select all Customer  ID's from your DB table using select, check the list of values with your vallue and only if it is not available then INSERT using the JDBC adapter.
    This will need a BPM with a Synchronous Select as well as a Separrate INSERT.
    Another optionn~~
    Pass the cusomer ID to a Stored Procedure using a JDBC adapter and then the Stored Procedure will decide if it need to update / insert or ignore this customer id.
    Option 2 is a better way to do it as it avoid a BPM>
    Regards,
    Bhavesh

  • XI adapter polling issue & JDBC  / DB2 driver connection timeout properties

    Hello Group,
    We have a long running issue with our XI 7.0 system running on iseries. (V5R3) The issue occuring is that our XI adapters stop polling and the only resolution is to restart the J2EE engine or to resart the adapter framework services.
    We have had several OSS messages open on this subject for over a year and are going round in circles with the a number of different SAP consultants.
    The one topic that we keep coming back to is that we are being asked to set DB2 driver connection timeout properties. We are using the toolbox driver and have upated to the latest JTopen driver, but have not managed to find any inofrmation on how to set the timeout parameter. Does anyone know where the timeout parameter set?
    Has anyone experienced polling issue like this before and how did you resolve?
    SAP referred to the SAP note 1078420 - XI/PI JDBC Adapter: Setting JDBC driver properties for DB which is for Oracle, but this will give an idea of what timeout parameters SAP are asking about.
    Extract of the note is below:-
    Symptom
    This note gives an option to set JDBC driver properties while acquiring a DB connection. When connecting to DB using JDBC adapter there are instances
    where DB connection take a long time to establish connection. Some times call made to Driver will hang permanently. Setting driver properties would resolve this problem.
    More Terms
    Connection timeout, time out, query timeout
    Cause and Prerequisites
    Solution
    In the advanced mode table section of sender channel and receiver channel configurations, we can set driver properties for each DB connection. Any
    such property would have to contain prefix 'driver:'(with out quotes) For example, for Oracle Database JDBC thin driver 10.2.0.3 version, the
    property oracle.jdbc.ReadTimeout helps to set read timeout while reading from the socket. Also for setting login time out in Oracle, we use
    oracle.net.CONNECT_TIMEOUT. To set these two properties use as follows:
    driver:oracle.jdbc.ReadTimeout 1000
    driver:oracle.net.CONNECT_TIMEOUT 1000
    (The TimeOut Driver properties like ReadTimeout and CONNECT_TIMEOUT are in milliseconds)
    Refer to your DB documentation/ JDBC driver documentation on this. Please note that properties can vary from each driver version. For instance, some
    of properties of Oracle JDBC thin Driver 10.2.0.3 properties may not be present in older version drivers. Please contact DB vendor for the complete
    list of driver properties. In addition to above, we also provide another parameter for query time out.
    sqlquerytimeout (prefix 'driver:' is not required) is the parameter that is to be used for SQL query time out. This is case-sensitive and should be
    configured as positive integer value in seconds(greater than 0).
    Any help on this would be much appreciated.
    With regards,
    Steven

    Hello,
    I am not talking about the XI timeouts. But the timeouts which can be used to get the connection timeouts for DB2/AS400 databases.
    So please provide that information.
    THanks,
    soorya

  • JDBC, DB2 advantage

    we have an application that uses some standalone tables. For one transaction, we access around 9 tables. Right now we use stand alone flat files. we update the tables very occasionally. I was just wondering whether it is good to use Database ( DB2) ..performance wise when compared to flat files since we only retrieve the table.
    for flat files we load all the tables on to the memory and each table is small ( 6 columns and 250 rows)
    if we use database, does it consume more memory since we have to use connection and it does take some time and memory to connect and retrieve the table.
    which one you think will be more effiecient
    please advise....Thanks

    we have an application that uses some standalone
    tables. For one transaction, we access around 9
    tables. Right now we use stand alone flat files. we
    update the tables very occasionally. I was just
    wondering whether it is good to use Database ( DB2)
    ..performance wise when compared to flat files since
    we only retrieve the table.
    for flat files we load all the tables on to the memory
    and each table is small ( 6 columns and 250 rows)
    if we use database, does it consume more memory since
    we have to use connection and it does take some time
    and memory to connect and retrieve the table.
    which one you think will be more effiecient
    please advise....ThanksWell database is always better than flat files whether the size is small or big. For flat file u cant have relations between tables which plays an important role in db mangement, aprt from that the various constraints cannot be done using flat file.
    Using jdbc odbc connection time and memory will not be affected since it doenst load all the database to the memory as a flat file does.
    This is just a small overwiew of how db is efficient fast and reliable over flat files.

  • R3(Idoc) - XI -JDBC,DB2 / File

    My Scenario is to get Idoc from R3 and based on a value in the payload I need to query DB2 Database on AS400/DB2 system before sending all these details to File System. Can someone please explain me steps involved to complete this scenario.
    Thanks a lot.

    Hi Ram,
    After calling DB2, do you need to get any data from the DB2 and then send it to File ? Is this is the Requirement?
    Then you can go with BPM and like this
    <i>Recieve the Idoc Message
    Send the Query to the DB2 sycnrnously
    After receiving the Response send the message into File system.</i>
    the bpm flow will be something/similar like this-
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    Regards,
    Moorthy

  • How to solve the following JDBC-DB2 FORMAT problem?

    Here is the error info:
      Message processing failed.
    Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException:
    Error processing request in sax parser:
    No 'action' attribute found in XML document
    (attribute "action" missing or wrong XML structure)
    The XML message after pipeline is:
       <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:Create_Material4PT xmlns:ns0="http://parmalat.ca/DMS">
    - <root>
    - <StatementName2>
    - <dbTableName action="INSERT">
      <table>MFIP931P</table>
    - <access>
      <PRODP>20L Bea Homo MilkFFF</PRODP>
      <UPCP>055300115008</UPCP>
      </access>
      </dbTableName>
      </StatementName2>
      </root>
      </ns0:Create_Material4PT>

    I think your structure is okay. But if you want , you can remove some unwanted tags and modify as below.
    <?xml version="1.0" encoding="UTF-8" ?>
    <ns0:Create_Material4PT xmlns:ns0="http://parmalat.ca/DMS">
    <StatementName>
    <dbTableName action="INSERT">
    <table>MFIP931P</table>
    <access>
          <PRODP>20L Bea Homo MilkFFF</PRODP>
          <UPCP>055300115008</UPCP>
    </access>
    </dbTableName>
    </StatementName>
    </ns0:Create_Material4PT>
    Have you declared attribute action type is string and occurence optional?

  • Error in XI Sender JDBC adapter for AS/400 DB2

    We are trying to connect to AS/400 DB2 from XI's Sender JDBC Adapter. we got the driver from DataDirect (connectjdbc.jar) and configured it within XI .The configuration according to the manual for this jar file is
    // Register the driver with the driver manager
    Class.forName("com.ddtek.jdbc.db2.DB2Driver");
    // Establish the Connection
    String url = "jdbc:datadirect:db2://corpserver1:50000;LocationName=ACCTNG";
    Connection con = DriverManager.getConnection(url, "test04", "test04");
    In XI we configured this as:
    Driver = com.ddtek.jdbc.db2.DB2Driver
    Connection = jdbc:datadirect:db2://servername;LocationName=NBHAGWAT
    and specified the user id and password
    <b>Note</b>: The Port Number is optional
    When this was done in XI, we got the below error in the Adapter Monitoring:
    Sender Adapter v2108 for Party '', Service 'JDBCtoFile':
    Configured at 2006-12-19 15:45:31 MST
    History:
    - 2006-12-19 15:45:31 MST: Retry interval started. Length: 10.000 s
    - 2006-12-19 15:45:31 MST: Error: Accessing database connection 'jdbc:datadirect:db2://AS400a;LocationName=NBHAGWAT' failed: DriverManagerException: Cannot establish connection to URL 'jdbc:datadirect:db2://AS400a;LocationName=NBHAGWAT': SAPClassNotFoundException: com.ddtek.jdbc.db2.DB2Driver
    - 2006-12-19 15:45:31 MST: Processing started
    Is this because there is something wrong because the way the connection string is specified.
    Anybody who has configured XI Sender JDBC adapter for AS/400 DB2, please send us some information on this.
    Thank you,
    Regards,
    Balaji

    > SAPClassNotFoundException:
    > com.ddtek.jdbc.db2.DB2Driver
    It looks like your JDBC driver is not found. Have you deployed the driver to XI?
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10</a>

  • JDBC Sender Adapter for AS/400 DB2 (V5R1) Error

    Hi,
    I'm trying to create a connection to an DB2 database on an AS/400 (V5R1) server. First does anyone know what JDBC driver I should use for this... I am trying to use the DB2 Universal type 4 JDBC driver... But have a suspicion I should be using the Legacy type 2 which I'm trying to track down with the client. If anyone can give me details as to where exactly I can find this driver it would be very useful???
    Currently my settings are as follows:
    JDBC Driver: com.ibm.db2.jcc.DB2Driver
    Connection: jdbc:db2://10.101.10.9:446/PROTST01
    I have verified my user is correct etc... I get the following response in the RWB.
    - 2006-01-13 10:54:40 GMT: Error: Accessing database connection 'jdbc:db2://10.101.10.9:446/PROTST01' failed: com.ibm.db2.jcc.b.SqlException: Connection authorization failure occurred. Reason: local security service non-retryable error.
    Can this error be resolved or should I concentrate on installing the legacy type 2 driver and trying that???
    Thanks in advance,
    Pete

    Hi Peter,
    Check if these links are useful to you.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/34a1e590-0201-0010-2c82-9b6229cf4a41
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7bf6e190-0201-0010-83b7-cc557eb76abe
    Hope this helps.
    Regards,
    Chandra

  • Plz help in jdbc in db2.

    hi friends i am new in eclipse and DB2-9
    i write this code
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class T4DB2Connect
    public static void main(String args [])
    try
    Class.forName("com.ibm.db2.jcc.DB2Driver");
    Connection con =DriverManager.getConnection("jdbc:db2//localhost:50000/test","username","password");
    Statement st=con.createStatement();
    String query="select * from test ";
    ResultSet rs=st.executeQuery(query);
    while(rs.next())
    System.out.println("username is "+rs.getString(1));
    System.out.println("and student number is "+rs.getString(2));
    //System.out.println("row inserted");
    con.close();
    catch(Exception e)
    System.out.println("error is "+e.getMessage());
    now when i run this code i found the following error
    error is No suitable driver
    although database is working properly. plz help me .
    thanks

    hi Balcus C thanks for the information now i ma pasting code as u said . but still there is a problem
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class T4DB2Connect
         public static void main(String args [])
              try
                   Class.forName("com.ibm.db2.jcc.DB2Driver");
                   Connection con =DriverManager.getConnection("jdbc:db2://localhost:50000/test","anshuldb2","tgmc2008");
                   Statement st=con.createStatement();
                   String query="select * from anshuldb2.test ";
                   ResultSet rs=st.executeQuery(query);
                   while(rs.next())
                        System.out.println("username is   "+rs.getString(1));
                        System.out.println("and student number is   "+rs.getString(2));
                   //System.out.println("row inserted");
                   con.close();
              catch(Exception e)
                   e.printStackTrace();
    }now i am using the same code with print stack trace and in jdbc url jdbc:db2://localhost:50000/test","anshuldb2","tgmc2008
    where anshuldb2 is the username and tgmc2008 is the password now i get the error
    com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: ANSHULDB2.TEST
         at com.ibm.db2.jcc.c.fg.e(fg.java:1596)
         at com.ibm.db2.jcc.c.fg.a(fg.java:1206)
         at com.ibm.db2.jcc.b.gb.g(gb.java:140)
         at com.ibm.db2.jcc.b.gb.a(gb.java:39)
         at com.ibm.db2.jcc.b.w.a(w.java:34)
         at com.ibm.db2.jcc.b.vb.g(vb.java:139)
         at com.ibm.db2.jcc.c.fg.n(fg.java:1177)
         at com.ibm.db2.jcc.c.fg.a(fg.java:1832)
         at com.ibm.db2.jcc.c.fg.a(fg.java:473)
         at com.ibm.db2.jcc.c.fg.executeQuery(fg.java:457)
         at T4DB2Connect.main(T4DB2Connect.java:17)
    i am unable to solve this problem here i use the query "Select * from anshuldb2.test" thsi is told to me by my project mentor. plz help me.

  • DB2 7.0.2 problem with jdbc type 2 app-driver (CLI0601E / CLI0616E)

    Hi folks,
    has anybody encounters an exception like this:
    javax.jdo.JDODataStoreException:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
    [SQL=SELECT t0.JDOIDX, t0.JDOCLASSX, t0.JDOLOCKX, t0.COMMENTX, t0.GKX,
    t0.NRX, t0.REFERENZX, t0.SALDOX, t0.SALDOTYPX, t0.TIMEX, t0.TYPX,
    t0.USERX, t0.USERIDX, t0.ZINSENX FROM KontoRevision t0 WHERE t0.REFERENZX
    = 8]
    [PRE=SELECT t0.JDOIDX, t0.JDOCLASSX, t0.JDOLOCKX, t0.COMMENTX, t0.GKX,
    t0.NRX, t0.REFERENZX, t0.SALDOX, t0.SALDOTYPX, t0.TIMEX, t0.TYPX,
    t0.USERX, t0.USERIDX, t0.ZINSENX FROM KontoRevision t0 WHERE t0.REFERENZX
    = ?]
    [IBM][JDBC-Treiber] CLI0601E Ung__ltige Anweisungskennung oder Anweisung
    ist beendet. SQLSTATE=S1000 [code=-99999;state=S1000]
    NestedThrowables:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
    [SQL=SELECT t0.JDOIDX, t0.JDOCLASSX, t0.JDOLOCKX, t0.COMMENTX, t0.GKX,
    t0.NRX, t0.REFERENZX, t0.SALDOX, t0.SALDOTYPX, t0.TIMEX, t0.TYPX,
    t0.USERX, t0.USERIDX, t0.ZINSENX FROM KontoRevision t0 WHERE t0.REFERENZX
    = 8]
    [PRE=SELECT t0.JDOIDX, t0.JDOCLASSX, t0.JDOLOCKX, t0.COMMENTX, t0.GKX,
    t0.NRX, t0.REFERENZX, t0.SALDOX, t0.SALDOTYPX, t0.TIMEX, t0.TYPX,
    t0.USERX, t0.USERIDX, t0.ZINSENX FROM KontoRevision t0 WHERE t0.REFERENZX
    = ?]
    [IBM][JDBC-Treiber] CLI0601E Ung__ltige Anweisungskennung oder Anweisung
    ist beendet. SQLSTATE=S1000
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwDataStore(SQLExceptions.java:23)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java:381)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.java:1987)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java:721)
    at de.tolina.nachlass.data.Konto.jdoGetrevisions(Konto.java)
    at de.tolina.nachlass.data.Konto.jdoPreDelete(Konto.java:58)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.setJDOState(StateManagerImpl.java:313)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.setJDOState(StateManagerImpl.java:287)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.deletePersistent(StateManagerImpl.java:492)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.deletePersistentFilter(PersistenceManagerImpl.java:1213)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.deletePersistent(PersistenceManagerImpl.java:1193)
    at de.tolina.common.gui.binder.Binder.deleteDataObject(Binder.java:104)
    at
    de.tolina.nachlass.gui.KontoPanel$2.actionPerformed(KontoPanel.java:88)
    at
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1445)
    at
    javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1499)
    at
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:373)
    at
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:245)
    at
    javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:211)
    at java.awt.Component.processMouseEvent(Component.java:3710)
    at java.awt.Component.processEvent(Component.java:3539)
    at java.awt.Container.processEvent(Container.java:1159)
    at java.awt.Component.dispatchEventImpl(Component.java:2588)
    at java.awt.Container.dispatchEventImpl(Container.java:1208)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at
    java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446)
    at
    java.awt.LightweightDispatcher.processMouseEvent(Container.java:2211)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120)
    at java.awt.Container.dispatchEventImpl(Container.java:1195)
    at java.awt.Window.dispatchEventImpl(Window.java:923)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
    at
    java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:126)
    at
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:88)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:80)
    NestedThrowablesStackTrace:
    COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC-Treiber] CLI0601E Ung__ltige
    Anweisungskennung oder Anweisung ist beendet. SQLSTATE=S1000
    at
    COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throwClosedError(SQLExceptionGenerator.java:593)
    at
    COM.ibm.db2.jdbc.app.DB2PreparedStatement.execute2(DB2PreparedStatement.java:832)
    at
    COM.ibm.db2.jdbc.app.DB2PreparedStatement.executeQuery(DB2PreparedStatement.java:786)
    at
    com.solarmetric.datasource.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:93)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedQueryInternal(SQLExecutionManagerImpl.java:771)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQueryInternal(SQLExecutionManagerImpl.java:691)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQuery(SQLExecutionManagerImpl.java:372)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQuery(SQLExecutionManagerImpl.java:356)
    at
    com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.selectPrimaryMappings(ClassMapping.java:1221)
    at
    com.solarmetric.kodo.impl.jdbc.ormapping.OneToManyMapping.load(OneToManyMapping.java:80)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java:375)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.java:1987)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java:721)
    at de.tolina.nachlass.data.Konto.jdoGetrevisions(Konto.java)
    at de.tolina.nachlass.data.Konto.jdoPreDelete(Konto.java:58)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.setJDOState(StateManagerImpl.java:313)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.setJDOState(StateManagerImpl.java:287)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.deletePersistent(StateManagerImpl.java:492)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.deletePersistentFilter(PersistenceManagerImpl.java:1213)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.deletePersistent(PersistenceManagerImpl.java:1193)
    at de.tolina.common.gui.binder.Binder.deleteDataObject(Binder.java:104)
    at
    de.tolina.nachlass.gui.KontoPanel$2.actionPerformed(KontoPanel.java:88)
    at
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1445)
    at
    javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1499)
    at
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:373)
    at
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:245)
    at
    javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:211)
    at java.awt.Component.processMouseEvent(Component.java:3710)
    at java.awt.Component.processEvent(Component.java:3539)
    at java.awt.Container.processEvent(Container.java:1159)
    at java.awt.Component.dispatchEventImpl(Component.java:2588)
    at java.awt.Container.dispatchEventImpl(Container.java:1208)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at
    java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446)
    at
    java.awt.LightweightDispatcher.processMouseEvent(Container.java:2211)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120)
    at java.awt.Container.dispatchEventImpl(Container.java:1195)
    at java.awt.Window.dispatchEventImpl(Window.java:923)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
    at
    java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:126)
    at
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:88)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:80)
    de.tolina.common.gui.binder.BinderException: Fehler beim L__schen des
    Objekts aufgetreten
    at de.tolina.common.gui.binder.Binder.deleteDataObject(Binder.java:112)
    at
    de.tolina.nachlass.gui.KontoPanel$2.actionPerformed(KontoPanel.java:88)
    at
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1445)
    at
    javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1499)
    at
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:373)
    at
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:245)
    at
    javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:211)
    at java.awt.Component.processMouseEvent(Component.java:3710)
    at java.awt.Component.processEvent(Component.java:3539)
    at java.awt.Container.processEvent(Container.java:1159)
    at java.awt.Component.dispatchEventImpl(Component.java:2588)
    at java.awt.Container.dispatchEventImpl(Container.java:1208)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at
    java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446)
    at
    java.awt.LightweightDispatcher.processMouseEvent(Container.java:2211)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120)
    at java.awt.Container.dispatchEventImpl(Container.java:1195)
    at java.awt.Window.dispatchEventImpl(Window.java:923)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
    at
    java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:126)
    at
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:88)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:80)
    kodo.properties:
    com.solarmetric.kodo.impl.jdbc.FlatInheritanceMapping=true
    javax.jdo.option.MsWait=50000
    javax.jdo.option.RestoreValues=true
    com.solarmetric.kodo.DefaultFetchThreshold=30
    com.solarmetric.kodo.EnableQueryExtensions=false
    javax.jdo.option.Multithreaded=true
    javax.jdo.option.IgnoreCache=false
    com.solarmetric.kodo.CacheReferenceSize=1000
    javax.jdo.option.NontransactionalWrite=false
    com.solarmetric.kodo.impl.jdbc.WarnOnPersistentTypeFailure=true
    javax.jdo.option.NontransactionalRead=true
    javax.jdo.option.RetainValues=true
    com.solarmetric.kodo.DefaultFetchBatchSize=10
    com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass=com.solarmetric.kodo.impl.jdbc.schema.DBSequenceFactory
    com.solarmetric.kodo.DataCacheClass=
    com.solarmetric.kodo.UseSoftTransactionCache=false
    com.solarmetric.kodo.ProxyManagerClass=com.solarmetric.kodo.util.SimpleProxyManager
    javax.jdo.option.Optimistic = true
    javax.jdo.option.MinPool=1
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
    com.solarmetric.kodo.impl.jdbc.AutoReturnTimeout=10
    javax.jdo.option.MaxPool=10
    # kodo 2.4-license-key, in produktionsversion im java-code
    com.solarmetric.kodo.LicenseKey =
    # db2
    javax.jdo.option.ConnectionURL = jdbc:db2:myapp
    javax.jdo.option.ConnectionDriverName = COM.ibm.db2.jdbc.app.DB2Driver
    javax.jdo.option.ConnectionUserName = xxx
    javax.jdo.option.ConnectionPassword = xxx
    # oracle
    #javax.jdo.option.ConnectionURL = jdbc:oracle:thin:@SESCG:1521:myapp
    #javax.jdo.option.ConnectionDriverName = oracle.jdbc.driver.OracleDriver
    #javax.jdo.option.ConnectionUserName = xxx
    #javax.jdo.option.ConnectionPassword = xxx
    I think there is a connection between this error and bug #520 in kodos bug
    db.
    The message of the CLI means, that either the connection is closed before
    the prepared statement is completed or the statement itself is closed...
    Sometimes I get also CLI0116E-Error (invalid transaction state).
    Anyone an idea?
    PS: we bought a kodo license and would't like to be sorry about that - so
    please help!!
    Best regards Claudius

    Claudius-
    There are a couple possibilities. First, it might be some JDBC driver
    mismatch, as reported at:
    http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/document.d2w/report?&fn=1007004
    The other possibility is that cached PreparedStatements are being timed
    out on the server side and closed. You can investigate disabling the
    statement timeout on the server side (see the DB2 docs), or else you can
    disable prepared statement pooling (which will result in a small to
    medium performance hit). You can disable pooling by setting
    com.solarmetric.kodo.impl.jdbc.StatementCacheMaxSize to 0. See:
    http://docs.solarmetric.com/manual.html#com.solarmetric.kodo.impl.jdbc.StatementCacheMaxSize
    Please let us know if the problem persists, and, if so, some more
    details like when this happends, how reproducable it is, and a more complete
    log.
    In article <[email protected]>, Claudius Gr__ver wrote:
    Hi folks,
    has anybody encounters an exception like this:
    javax.jdo.JDODataStoreException:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
    [SQL=SELECT t0.JDOIDX, t0.JDOCLASSX, t0.JDOLOCKX, t0.COMMENTX, t0.GKX,
    t0.NRX, t0.REFERENZX, t0.SALDOX, t0.SALDOTYPX, t0.TIMEX, t0.TYPX,
    t0.USERX, t0.USERIDX, t0.ZINSENX FROM KontoRevision t0 WHERE t0.REFERENZX
    = 8]
    [PRE=SELECT t0.JDOIDX, t0.JDOCLASSX, t0.JDOLOCKX, t0.COMMENTX, t0.GKX,
    t0.NRX, t0.REFERENZX, t0.SALDOX, t0.SALDOTYPX, t0.TIMEX, t0.TYPX,
    t0.USERX, t0.USERIDX, t0.ZINSENX FROM KontoRevision t0 WHERE t0.REFERENZX
    = ?]
    [IBM][JDBC-Treiber] CLI0601E Ung__ltige Anweisungskennung oder Anweisung
    ist beendet. SQLSTATE=S1000 [code=-99999;state=S1000]
    NestedThrowables:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
    [SQL=SELECT t0.JDOIDX, t0.JDOCLASSX, t0.JDOLOCKX, t0.COMMENTX, t0.GKX,
    t0.NRX, t0.REFERENZX, t0.SALDOX, t0.SALDOTYPX, t0.TIMEX, t0.TYPX,
    t0.USERX, t0.USERIDX, t0.ZINSENX FROM KontoRevision t0 WHERE t0.REFERENZX
    = 8]
    [PRE=SELECT t0.JDOIDX, t0.JDOCLASSX, t0.JDOLOCKX, t0.COMMENTX, t0.GKX,
    t0.NRX, t0.REFERENZX, t0.SALDOX, t0.SALDOTYPX, t0.TIMEX, t0.TYPX,
    t0.USERX, t0.USERIDX, t0.ZINSENX FROM KontoRevision t0 WHERE t0.REFERENZX
    = ?]
    [IBM][JDBC-Treiber] CLI0601E Ung__ltige Anweisungskennung oder Anweisung
    ist beendet. SQLSTATE=S1000
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwDataStore(SQLExceptions.java:23)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java:381)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.java:1987)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java:721)
    at de.tolina.nachlass.data.Konto.jdoGetrevisions(Konto.java)
    at de.tolina.nachlass.data.Konto.jdoPreDelete(Konto.java:58)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.setJDOState(StateManagerImpl.java:313)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.setJDOState(StateManagerImpl.java:287)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.deletePersistent(StateManagerImpl.java:492)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.deletePersistentFilter(PersistenceManagerImpl.java:1213)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.deletePersistent(PersistenceManagerImpl.java:1193)
    at de.tolina.common.gui.binder.Binder.deleteDataObject(Binder.java:104)
    at
    de.tolina.nachlass.gui.KontoPanel$2.actionPerformed(KontoPanel.java:88)
    at
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1445)
    at
    javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1499)
    at
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:373)
    at
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:245)
    at
    javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:211)
    at java.awt.Component.processMouseEvent(Component.java:3710)
    at java.awt.Component.processEvent(Component.java:3539)
    at java.awt.Container.processEvent(Container.java:1159)
    at java.awt.Component.dispatchEventImpl(Component.java:2588)
    at java.awt.Container.dispatchEventImpl(Container.java:1208)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at
    java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446)
    at
    java.awt.LightweightDispatcher.processMouseEvent(Container.java:2211)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120)
    at java.awt.Container.dispatchEventImpl(Container.java:1195)
    at java.awt.Window.dispatchEventImpl(Window.java:923)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
    at
    java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:126)
    at
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:88)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:80)
    NestedThrowablesStackTrace:
    COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC-Treiber] CLI0601E Ung__ltige
    Anweisungskennung oder Anweisung ist beendet. SQLSTATE=S1000
    at
    COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throwClosedError(SQLExceptionGenerator.java:593)
    at
    COM.ibm.db2.jdbc.app.DB2PreparedStatement.execute2(DB2PreparedStatement.java:832)
    at
    COM.ibm.db2.jdbc.app.DB2PreparedStatement.executeQuery(DB2PreparedStatement.java:786)
    at
    com.solarmetric.datasource.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:93)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedQueryInternal(SQLExecutionManagerImpl.java:771)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQueryInternal(SQLExecutionManagerImpl.java:691)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQuery(SQLExecutionManagerImpl.java:372)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQuery(SQLExecutionManagerImpl.java:356)
    at
    com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.selectPrimaryMappings(ClassMapping.java:1221)
    at
    com.solarmetric.kodo.impl.jdbc.ormapping.OneToManyMapping.load(OneToManyMapping.java:80)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java:375)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.java:1987)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java:721)
    at de.tolina.nachlass.data.Konto.jdoGetrevisions(Konto.java)
    at de.tolina.nachlass.data.Konto.jdoPreDelete(Konto.java:58)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.setJDOState(StateManagerImpl.java:313)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.setJDOState(StateManagerImpl.java:287)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.deletePersistent(StateManagerImpl.java:492)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.deletePersistentFilter(PersistenceManagerImpl.java:1213)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.deletePersistent(PersistenceManagerImpl.java:1193)
    at de.tolina.common.gui.binder.Binder.deleteDataObject(Binder.java:104)
    at
    de.tolina.nachlass.gui.KontoPanel$2.actionPerformed(KontoPanel.java:88)
    at
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1445)
    at
    javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1499)
    at
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:373)
    at
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:245)
    at
    javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:211)
    at java.awt.Component.processMouseEvent(Component.java:3710)
    at java.awt.Component.processEvent(Component.java:3539)
    at java.awt.Container.processEvent(Container.java:1159)
    at java.awt.Component.dispatchEventImpl(Component.java:2588)
    at java.awt.Container.dispatchEventImpl(Container.java:1208)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at
    java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446)
    at
    java.awt.LightweightDispatcher.processMouseEvent(Container.java:2211)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120)
    at java.awt.Container.dispatchEventImpl(Container.java:1195)
    at java.awt.Window.dispatchEventImpl(Window.java:923)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
    at
    java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:126)
    at
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:88)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:80)
    de.tolina.common.gui.binder.BinderException: Fehler beim L__schen des
    Objekts aufgetreten
    at de.tolina.common.gui.binder.Binder.deleteDataObject(Binder.java:112)
    at
    de.tolina.nachlass.gui.KontoPanel$2.actionPerformed(KontoPanel.java:88)
    at
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1445)
    at
    javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1499)
    at
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:373)
    at
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:245)
    at
    javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:211)
    at java.awt.Component.processMouseEvent(Component.java:3710)
    at java.awt.Component.processEvent(Component.java:3539)
    at java.awt.Container.processEvent(Container.java:1159)
    at java.awt.Component.dispatchEventImpl(Component.java:2588)
    at java.awt.Container.dispatchEventImpl(Container.java:1208)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at
    java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446)
    at
    java.awt.LightweightDispatcher.processMouseEvent(Container.java:2211)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120)
    at java.awt.Container.dispatchEventImpl(Container.java:1195)
    at java.awt.Window.dispatchEventImpl(Window.java:923)
    at java.awt.Component.dispatchEvent(Component.java:2492)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
    at
    java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:126)
    at
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:88)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:80)
    kodo.properties:
    com.solarmetric.kodo.impl.jdbc.FlatInheritanceMapping=true
    javax.jdo.option.MsWait=50000
    javax.jdo.option.RestoreValues=true
    com.solarmetric.kodo.DefaultFetchThreshold=30
    com.solarmetric.kodo.EnableQueryExtensions=false
    javax.jdo.option.Multithreaded=true
    javax.jdo.option.IgnoreCache=false
    com.solarmetric.kodo.CacheReferenceSize=1000
    javax.jdo.option.NontransactionalWrite=false
    com.solarmetric.kodo.impl.jdbc.WarnOnPersistentTypeFailure=true
    javax.jdo.option.NontransactionalRead=true
    javax.jdo.option.RetainValues=true
    com.solarmetric.kodo.DefaultFetchBatchSize=10
    com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass=com.solarmetric.kodo.impl.jdbc.schema.DBSequenceFactory
    com.solarmetric.kodo.DataCacheClass=
    com.solarmetric.kodo.UseSoftTransactionCache=false
    com.solarmetric.kodo.ProxyManagerClass=com.solarmetric.kodo.util.SimpleProxyManager
    javax.jdo.option.Optimistic = true
    javax.jdo.option.MinPool=1
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
    com.solarmetric.kodo.impl.jdbc.AutoReturnTimeout=10
    javax.jdo.option.MaxPool=10
    # kodo 2.4-license-key, in produktionsversion im java-code
    com.solarmetric.kodo.LicenseKey =
    # db2
    javax.jdo.option.ConnectionURL = jdbc:db2:myapp
    javax.jdo.option.ConnectionDriverName = COM.ibm.db2.jdbc.app.DB2Driver
    javax.jdo.option.ConnectionUserName = xxx
    javax.jdo.option.ConnectionPassword = xxx
    # oracle
    #javax.jdo.option.ConnectionURL = jdbc:oracle:thin:@SESCG:1521:myapp
    #javax.jdo.option.ConnectionDriverName = oracle.jdbc.driver.OracleDriver
    #javax.jdo.option.ConnectionUserName = xxx
    #javax.jdo.option.ConnectionPassword = xxx
    I think there is a connection between this error and bug #520 in kodos bug
    db.
    The message of the CLI means, that either the connection is closed before
    the prepared statement is completed or the statement itself is closed...
    Sometimes I get also CLI0116E-Error (invalid transaction state).
    Anyone an idea?
    PS: we bought a kodo license and would't like to be sorry about that - so
    please help!!
    Best regards Claudius
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • JDBC Driver Class for DB2 databases on OS/390

    Hi,
    To anybody who can help.
    I am trying to connect to DB2 database on OS/390 from my PC - Windows 2000. I have loaded IBM DB2 Application Development Client V7.2 as well as IBM DB2 Administration Client V7.2 I guess this is called using Db2 Connect. I have done proper configuration of host databases.
    Anyway, I write this small simple class to connect to Db2 database and I keep getting this error.
    "Error loading Driver classjava.lang.ClassNotFoundException: com.ibm.db2.jdbc.app.DB2Driver
    Sorry, No connection established"
    This is my classpath....
    C:\Program Files\SQLLIB\java\db2java.zip;
    C:\ProgramFiles\IBM\ApplicationDeveloper\plugins\com.ibm.etools.webtools\jars\jspsql.jar;
    C:\ProgramFiles\IBM\ApplicationDeveloper\plugins\com.ibm.etools.webtools\jars\dbbeans.jar;
    C:\ProgramFiles\IBM\ApplicationDeveloper\plugins\com.ibm.etools.webtools\jars\dbbeans_javadoc.zip;
    C:\Program Files\SQLLIB\java\runtime.zip;
    C:\Program Files\SQLLIB\java\sqlj.zip;
    C:\Program Files\SQLLIB\bin
    This is my java class....
    package JavaFiles;
    import java.sql.*;
    import java.lang.*;
    public class DbConnection
         public static void main(String[] args)
         throws ClassNotFoundException,SQLException
              String url = "jdbc:db2:db2test.state.sc.us:50000:DB2DB02";
              String username = "db2admin";
              String passwd = "db2admin1";
              connect(url,username,passwd);
         public static void connect(String url, String username, String passwd)
         throws ClassNotFoundException,SQLException
         try
    Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
         Connection conn = DriverManager.getConnection(url,username,passwd);
         System.out.println("Yes,You are connected");
         catch(ClassNotFoundException cnfe)
              System.err.println("Error loading Driver class" + cnfe);
              System.out.println("Sorry, No connection established");
         catch(SQLException sqle)
         System.err.println("Error connecting to Database" + sqle);
    Any help on this will let me move further in my project. ThankYou.

    Nice trap from IBM: package name starts with COM not
    com!
    Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");---Sure I tried that. Sorry. That doesn't work.
    I tried with Class.forName("COM.ibm.db2.jdbc.net.DB2Driver");
    That doesn't work either.
    Is my connection URL OK? I made several kinds of format changes to the URL
    "jdbc:db2://db2test.state.sc.us:50000/DB2DB02";
    "jdbc:db2:db2test.state.sc.us:50000:DB2DB02";
    etc....For now I am sticking with the first version.
    Any more suggestions please. Did you take a look at my classpath. Is that OK? Should I rename db2java.zip to .jar and are there any other dir's where it should be contained?????
    ThankYou all.

Maybe you are looking for