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
...annieYou 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,
ThankFullalbert 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.
Milenkofor 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 -
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
RajRaj,
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,
StevenHello,
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 -
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....Thankswe 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,
PeteHi 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 .
thankshi 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 ClaudiusClaudius-
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
-
Ios upgrade stopped my external hard drives and keep changing my laptop keyboards
Latest ios upgrade stopped my computers from contacting and saving in my external hard drives and keeps changing my laptop keyboards everytime I turn it on. Please Apple solve this because I know that many people suffer from this. If you do not I wil
-
Stored Procedure for Blocking from using a Specific Warehouse in any transaction
Hi, Is it possible to write a SP from using a Specific Warehouse in any transaction ?
-
I'm Admin but still i'm unable to change search address from my internet Explorer?
Hello! Genius people. Can you pleases help me to remove this annoying web links from my browser. I'm admin of my computer but i don't know how to change setting for internet explorer from admin access. Actually my computer got virus name Arbyaonline.
-
How to join two workbooks in one?
Hi Gurus, Is it possible to mix two workbooks without loose BW Connection ? I created one workbook (Called "X") and another workbook (Called "Y"). Each of them is based on the same query. I used the function copy sheet but after the copy the sheet on
-
Do all open tabs in safari use data on iPhone 5
I am wondering if pages that are open in the background of safari use data on the iPhone 5 iOS 7.1.1?