You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by Nikolai Raitsev <ni...@gmail.com> on 2006/08/01 10:49:23 UTC

Problem with DB2 UDB

Hello all,

I have a problem running Cayenne with DB2 UDB

I have a following code:

Setting connection properties:

///
DataSource dataSource = new PoolManager("com.ibm.db2.jcc.DB2Driver",
"jdbc:db2://sunlinuxdb2:60000/testjdb", 1, 1, "NRA", "xxx");
Configuration config = Configuration.getSharedConfiguration();
DataDomain dataDomain = config.getDomain();

DataNode dataNode = dataDomain.getNode("DPVWNode");
dataNode.setDataSource(dataSource);

///

Getting DataContext:
//
dataContext = DataContext.createDataContext();

///and now run a query:

SelectQuery selQueryInterface = new SelectQuery("TestClass");
dataObjectsInInterface = new DataObjectList(dataContext.performQuery
(selQueryInterface));


On performQuery i get an exception:
INFO  QueryLogger: --- will run 1 query.
Exception in thread "main" org.objectstyle.cayenne.CayenneRuntimeException:
[v.1.2RC1 May 31 2006] Error detecting database type
    at org.objectstyle.cayenne.dba.AutoAdapter.loadAdapter(AutoAdapter.java
:196)
    at org.objectstyle.cayenne.dba.AutoAdapter.getAdapter(AutoAdapter.java
:166)
    at org.objectstyle.cayenne.dba.AutoAdapter.getExtendedTypes(
AutoAdapter.java:276)
    at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java
:282)
    at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(
DataDomainQueryAction.java:355)

... more exceptions

if i set explicitely a DB2-Adapter like this:

DataNode dataNode = dataDomain.getNode("DPVWNode");
dataNode.setAdapter(new org.objectstyle.cayenne.dba.db2.DB2Adapter());
dataNode.setDataSource(dataSource);

i get an exception again:

INFO  QueryLogger: --- will run 1 query.
Exception in thread "main" INFO  QueryLogger: *** error.
com.ibm.db2.jcc.b.SQLException
    at com.ibm.db2.jcc.b.l.a(l.java:1469)
    at com.ibm.db2.jcc.a.bb.h(bb.java:541)
    at com.ibm.db2.jcc.a.bb.g(bb.java:443)
    at com.ibm.db2.jcc.a.bb.d(bb.java:276)
    at com.ibm.db2.jcc.a.bb.d(bb.java:90)
    at com.ibm.db2.jcc.a.b.a(b.java:935)
    at com.ibm.db2.jcc.a.b.a(b.java:450)
    at com.ibm.db2.jcc.a.b.a(b.java:293)
    at com.ibm.db2.jcc.a.b.<init>(b.java:207)
    at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:244)
    at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(
DriverDataSource.java:151)
..... more exceptions

at application.run.Run.main(Run.java:167)
org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2RC1 May 31 2006]
Global exception.
    at
org.objectstyle.cayenne.access.DataDomainQueryAction.nextGlobalException(
DataDomainQueryAction.java:486)
    at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java
:297)
    at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(
DataDomainQueryAction.java:355)

...more excepions

what is a problem here?

i run cayenne with 4 DBMS (MySQL, DB2/As400, Oracle, SQL Server) without
problems...

thanks, and best regards,

Nikolai

Re: Problem with DB2 UDB

Posted by Nikolai Raitsev <ni...@gmail.com>.
thanks at all,

this is a server problem, that i not understand: whith a db-pilot (a part of
jbuilder) i can connect and run queries on db2.
With same jdbc driver and same connection properties i can not connect to
db2 with jdbc... error message is the same as in my first mail.

well, i must speak with my admin...

Nikolai

2006/8/1, Andrus Adamchik <an...@objectstyle.org>:
>
> The first error seems to be related to the second - for whatever
> reason JDBC connection fails (and DB2 is at its best not telling why).
>
> I don't have a specific advice, as this can be any number of things
> (including permissions, etc.). Try connecting from JDBC, bypassing
> Cayenne and see if you can get more info on why it fails.
>
> Andrus
>
>
> On Aug 1, 2006, at 4:49 AM, Nikolai Raitsev wrote:
>
> > Hello all,
> >
> > I have a problem running Cayenne with DB2 UDB
> >
> > I have a following code:
> >
> > Setting connection properties:
> >
> > ///
> > DataSource dataSource = new PoolManager("com.ibm.db2.jcc.DB2Driver",
> > "jdbc:db2://sunlinuxdb2:60000/testjdb", 1, 1, "NRA", "xxx");
> > Configuration config = Configuration.getSharedConfiguration();
> > DataDomain dataDomain = config.getDomain();
> >
> > DataNode dataNode = dataDomain.getNode("DPVWNode");
> > dataNode.setDataSource(dataSource);
> >
> > ///
> >
> > Getting DataContext:
> > //
> > dataContext = DataContext.createDataContext();
> >
> > ///and now run a query:
> >
> > SelectQuery selQueryInterface = new SelectQuery("TestClass");
> > dataObjectsInInterface = new DataObjectList(dataContext.performQuery
> > (selQueryInterface));
> >
> >
> > On performQuery i get an exception:
> > INFO  QueryLogger: --- will run 1 query.
> > Exception in thread "main"
> > org.objectstyle.cayenne.CayenneRuntimeException:
> > [v.1.2RC1 May 31 2006] Error detecting database type
> >    at org.objectstyle.cayenne.dba.AutoAdapter.loadAdapter
> > (AutoAdapter.java
> > :196)
> >    at org.objectstyle.cayenne.dba.AutoAdapter.getAdapter
> > (AutoAdapter.java
> > :166)
> >    at org.objectstyle.cayenne.dba.AutoAdapter.getExtendedTypes(
> > AutoAdapter.java:276)
> >    at org.objectstyle.cayenne.access.DataNode.performQueries
> > (DataNode.java
> > :282)
> >    at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(
> > DataDomainQueryAction.java:355)
> >
> > ... more exceptions
> >
> > if i set explicitely a DB2-Adapter like this:
> >
> > DataNode dataNode = dataDomain.getNode("DPVWNode");
> > dataNode.setAdapter(new org.objectstyle.cayenne.dba.db2.DB2Adapter());
> > dataNode.setDataSource(dataSource);
> >
> > i get an exception again:
> >
> > INFO  QueryLogger: --- will run 1 query.
> > Exception in thread "main" INFO  QueryLogger: *** error.
> > com.ibm.db2.jcc.b.SQLException
> >    at com.ibm.db2.jcc.b.l.a(l.java:1469)
> >    at com.ibm.db2.jcc.a.bb.h(bb.java:541)
> >    at com.ibm.db2.jcc.a.bb.g(bb.java:443)
> >    at com.ibm.db2.jcc.a.bb.d(bb.java:276)
> >    at com.ibm.db2.jcc.a.bb.d(bb.java:90)
> >    at com.ibm.db2.jcc.a.b.a(b.java:935)
> >    at com.ibm.db2.jcc.a.b.a(b.java:450)
> >    at com.ibm.db2.jcc.a.b.a(b.java:293)
> >    at com.ibm.db2.jcc.a.b.<init>(b.java:207)
> >    at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:244)
> >    at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(
> > DriverDataSource.java:151)
> > ..... more exceptions
> >
> > at application.run.Run.main(Run.java:167)
> > org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2RC1 May 31
> > 2006]
> > Global exception.
> >    at
> > org.objectstyle.cayenne.access.DataDomainQueryAction.nextGlobalExcepti
> > on(
> > DataDomainQueryAction.java:486)
> >    at org.objectstyle.cayenne.access.DataNode.performQueries
> > (DataNode.java
> > :297)
> >    at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(
> > DataDomainQueryAction.java:355)
> >
> > ...more excepions
> >
> > what is a problem here?
> >
> > i run cayenne with 4 DBMS (MySQL, DB2/As400, Oracle, SQL Server)
> > without
> > problems...
> >
> > thanks, and best regards,
> >
> > Nikolai
>
>

Re: Problem with DB2 UDB

Posted by Andrus Adamchik <an...@objectstyle.org>.
The first error seems to be related to the second - for whatever  
reason JDBC connection fails (and DB2 is at its best not telling why).

I don't have a specific advice, as this can be any number of things  
(including permissions, etc.). Try connecting from JDBC, bypassing  
Cayenne and see if you can get more info on why it fails.

Andrus


On Aug 1, 2006, at 4:49 AM, Nikolai Raitsev wrote:

> Hello all,
>
> I have a problem running Cayenne with DB2 UDB
>
> I have a following code:
>
> Setting connection properties:
>
> ///
> DataSource dataSource = new PoolManager("com.ibm.db2.jcc.DB2Driver",
> "jdbc:db2://sunlinuxdb2:60000/testjdb", 1, 1, "NRA", "xxx");
> Configuration config = Configuration.getSharedConfiguration();
> DataDomain dataDomain = config.getDomain();
>
> DataNode dataNode = dataDomain.getNode("DPVWNode");
> dataNode.setDataSource(dataSource);
>
> ///
>
> Getting DataContext:
> //
> dataContext = DataContext.createDataContext();
>
> ///and now run a query:
>
> SelectQuery selQueryInterface = new SelectQuery("TestClass");
> dataObjectsInInterface = new DataObjectList(dataContext.performQuery
> (selQueryInterface));
>
>
> On performQuery i get an exception:
> INFO  QueryLogger: --- will run 1 query.
> Exception in thread "main"  
> org.objectstyle.cayenne.CayenneRuntimeException:
> [v.1.2RC1 May 31 2006] Error detecting database type
>    at org.objectstyle.cayenne.dba.AutoAdapter.loadAdapter 
> (AutoAdapter.java
> :196)
>    at org.objectstyle.cayenne.dba.AutoAdapter.getAdapter 
> (AutoAdapter.java
> :166)
>    at org.objectstyle.cayenne.dba.AutoAdapter.getExtendedTypes(
> AutoAdapter.java:276)
>    at org.objectstyle.cayenne.access.DataNode.performQueries 
> (DataNode.java
> :282)
>    at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(
> DataDomainQueryAction.java:355)
>
> ... more exceptions
>
> if i set explicitely a DB2-Adapter like this:
>
> DataNode dataNode = dataDomain.getNode("DPVWNode");
> dataNode.setAdapter(new org.objectstyle.cayenne.dba.db2.DB2Adapter());
> dataNode.setDataSource(dataSource);
>
> i get an exception again:
>
> INFO  QueryLogger: --- will run 1 query.
> Exception in thread "main" INFO  QueryLogger: *** error.
> com.ibm.db2.jcc.b.SQLException
>    at com.ibm.db2.jcc.b.l.a(l.java:1469)
>    at com.ibm.db2.jcc.a.bb.h(bb.java:541)
>    at com.ibm.db2.jcc.a.bb.g(bb.java:443)
>    at com.ibm.db2.jcc.a.bb.d(bb.java:276)
>    at com.ibm.db2.jcc.a.bb.d(bb.java:90)
>    at com.ibm.db2.jcc.a.b.a(b.java:935)
>    at com.ibm.db2.jcc.a.b.a(b.java:450)
>    at com.ibm.db2.jcc.a.b.a(b.java:293)
>    at com.ibm.db2.jcc.a.b.<init>(b.java:207)
>    at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:244)
>    at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(
> DriverDataSource.java:151)
> ..... more exceptions
>
> at application.run.Run.main(Run.java:167)
> org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2RC1 May 31  
> 2006]
> Global exception.
>    at
> org.objectstyle.cayenne.access.DataDomainQueryAction.nextGlobalExcepti 
> on(
> DataDomainQueryAction.java:486)
>    at org.objectstyle.cayenne.access.DataNode.performQueries 
> (DataNode.java
> :297)
>    at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(
> DataDomainQueryAction.java:355)
>
> ...more excepions
>
> what is a problem here?
>
> i run cayenne with 4 DBMS (MySQL, DB2/As400, Oracle, SQL Server)  
> without
> problems...
>
> thanks, and best regards,
>
> Nikolai


Re: Problem with DB2 UDB

Posted by Tore Halset <ha...@pvv.ntnu.no>.
Hello.

Looks like you cayenne does not get access to the database as all at  
the jdbc-level. Are your connection parameters, username and password  
correct? Do you have access to the database?

  - Tore.

On Aug 1, 2006, at 10:49, Nikolai Raitsev wrote:

> Hello all,
>
> I have a problem running Cayenne with DB2 UDB
>
> I have a following code:
>
> Setting connection properties:
>
> ///
> DataSource dataSource = new PoolManager("com.ibm.db2.jcc.DB2Driver",
> "jdbc:db2://sunlinuxdb2:60000/testjdb", 1, 1, "NRA", "xxx");
> Configuration config = Configuration.getSharedConfiguration();
> DataDomain dataDomain = config.getDomain();
>
> DataNode dataNode = dataDomain.getNode("DPVWNode");
> dataNode.setDataSource(dataSource);
>
> ///
>
> Getting DataContext:
> //
> dataContext = DataContext.createDataContext();
>
> ///and now run a query:
>
> SelectQuery selQueryInterface = new SelectQuery("TestClass");
> dataObjectsInInterface = new DataObjectList(dataContext.performQuery
> (selQueryInterface));
>
>
> On performQuery i get an exception:
> INFO  QueryLogger: --- will run 1 query.
> Exception in thread "main"  
> org.objectstyle.cayenne.CayenneRuntimeException:
> [v.1.2RC1 May 31 2006] Error detecting database type
>    at org.objectstyle.cayenne.dba.AutoAdapter.loadAdapter 
> (AutoAdapter.java
> :196)
>    at org.objectstyle.cayenne.dba.AutoAdapter.getAdapter 
> (AutoAdapter.java
> :166)
>    at org.objectstyle.cayenne.dba.AutoAdapter.getExtendedTypes(
> AutoAdapter.java:276)
>    at org.objectstyle.cayenne.access.DataNode.performQueries 
> (DataNode.java
> :282)
>    at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(
> DataDomainQueryAction.java:355)
>
> ... more exceptions
>
> if i set explicitely a DB2-Adapter like this:
>
> DataNode dataNode = dataDomain.getNode("DPVWNode");
> dataNode.setAdapter(new org.objectstyle.cayenne.dba.db2.DB2Adapter());
> dataNode.setDataSource(dataSource);
>
> i get an exception again:
>
> INFO  QueryLogger: --- will run 1 query.
> Exception in thread "main" INFO  QueryLogger: *** error.
> com.ibm.db2.jcc.b.SQLException
>    at com.ibm.db2.jcc.b.l.a(l.java:1469)
>    at com.ibm.db2.jcc.a.bb.h(bb.java:541)
>    at com.ibm.db2.jcc.a.bb.g(bb.java:443)
>    at com.ibm.db2.jcc.a.bb.d(bb.java:276)
>    at com.ibm.db2.jcc.a.bb.d(bb.java:90)
>    at com.ibm.db2.jcc.a.b.a(b.java:935)
>    at com.ibm.db2.jcc.a.b.a(b.java:450)
>    at com.ibm.db2.jcc.a.b.a(b.java:293)
>    at com.ibm.db2.jcc.a.b.<init>(b.java:207)
>    at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:244)
>    at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(
> DriverDataSource.java:151)
> ..... more exceptions
>
> at application.run.Run.main(Run.java:167)
> org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2RC1 May 31  
> 2006]
> Global exception.
>    at
> org.objectstyle.cayenne.access.DataDomainQueryAction.nextGlobalExcepti 
> on(
> DataDomainQueryAction.java:486)
>    at org.objectstyle.cayenne.access.DataNode.performQueries 
> (DataNode.java
> :297)
>    at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(
> DataDomainQueryAction.java:355)
>
> ...more excepions
>
> what is a problem here?
>
> i run cayenne with 4 DBMS (MySQL, DB2/As400, Oracle, SQL Server)  
> without
> problems...
>
> thanks, and best regards,
>
> Nikolai