Unable to connect to DB2 via the jdbc driver

We are not able to establish connecting to the db2 via the jdbc driver… The connection is through a different server where db2 connect is running. We did try specifying the jdbc:db2::confused: in the serverName field. and also driverType=thin
One note: The connection to DB2 itself works fine when tested with a java test. It is the webMethods adapter connectivity that is not working…

Any advise appreciated! Thanks!

The error log says:

com.wm.pkg.art.error.DetailedServiceException: [ART.118.5042] Adapter Runtime (Connection): Unable to enable connection resource skrish:db2JDBCConnection. com.wm.pkg.art.error.DetailedServiceException: [ART.118.5042] Adapter Runtime (Connection): Unable to enable connection resource skrish:db2JDBCConnection.
at com.wm.util.LocalizedException.(LocalizedException.java:114)
at com.wm.app.b2b.server.ServerException.(ServerException.java:24)
at com.wm.app.b2b.server.ServiceException.(ServiceException.java:15)
at com.wm.pkg.art.error.DetailedServiceException.(DetailedServiceException.java:112)
at com.wm.pkg.art.ns.ConnectionDataNodeManager.setConnectionState(ConnectionDataNodeManager.java:1000)
at java.lang.reflect.Method.invoke(Native Method)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:287)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:336)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:116)
at com.wm.app.b2b.server.ns.Namespace.invoke(Namespace.java:522)
at com.wm.util.template.Reporter.invoke(Reporter.java:962)
at com.wm.util.template.InvokeToken.eval(InvokeToken.java:75)
at com.wm.util.template.TemplateToken.evalChild(TemplateToken.java(Compiled Code))
at com.wm.util.template.SwitchToken.evalChild(SwitchToken.java:90)
at com.wm.util.template.TemplateToken.eval(TemplateToken.java(Compiled Code))
at com.wm.util.template.SwitchToken.eval(SwitchToken.java:58)
at com.wm.util.template.IfVarToken.evalChild(IfVarToken.java(Compiled Code))
at com.wm.util.template.IfVarToken.evalChild(IfVarToken.java(Compiled Code))
at com.wm.util.template.TemplateToken.eval(TemplateToken.java(Compiled Code))
at com.wm.util.template.IfVarToken.eval(IfVarToken.java:219)
at com.wm.util.template.TemplateToken.evalChild(TemplateToken.java(Compiled Code))
at com.wm.util.template.TemplateToken.eval(TemplateToken.java(Compiled Code))
at com.wm.util.template.Reporter.reportNoReset(Reporter.java:1278)
at com.wm.util.template.Reporter.reportToOutput(Reporter.java:1253)
at com.wm.util.template.Reporter.reportIData(Reportewm.art.admin.connection:setResourceState

Sang,

You didn’t mention the port that you are using. The Standard port for DB2 is:

DirectConnect: 50000
JDBC: 6789

Sequelink: 19996

Be sure that if you are on a firewall, at least 6789 and 19996 are open (also 19995, one is for agent, one for manager.)

Also, be sure that you have permissions set for the user in DB2 to access the DB via JDBC. This has to be enabled.

Ray

Thanks for the reply. But the port we are using is 50040.

And I guess, the userid used “has” required permissions because when I ran a standalone java program to do JDBC query against the db2, with the same username and ports… it works… brings me back the results.

?!!

I confirmed that issues exist with 6.0. I am trying the datadirect driver now.

Don’t be confused by using the IBM java client. It uses their protocol and not JDBC. You should be able to connect using the JDBC driver (ours is in the package DB2java.zip) that I have located in our classpath. The DB driver is:

COM.ibm.db2.jdbc.net.DB2Driver

Make sure you use the “.net.DB2Driver” rather than the .app driver.

The Default JDBC is 6789.

Here is a typical DB url:

jdbc:db2://IP_ADDRESS:6789/DBINSTANCENAME

jdbc:db2://192.168.28.1:6789/wmsupt

Open up the admin console in Integration Server and choose Database under Adapters. Make your connection test using the built-in alias. If you can connect here, you are good to go. Be sure that the DB2java.zip is in the classpath. We were unable to use the Sequelink Driver for DB2 as we had serious problems and no resolutions. WM Support told us to use the Type IV driver from IBM. We have been using it with TN and have had no problems to date. We are running DB2 7.2 UDB on AIX (5.1).

Hope this helps.

Ray

Hi Ray,
We also use the db2java.zip (the net driver) and we have it in the classpath too. One question though: In the admin console I dont see a database under Adapters though!?

Sang,

I am referring to the WmDB package. Make sure that it is enabled, or you cannot use the approach I suggest. On the left navigation bar of the admin console, it should list a couple of adapters. One will be Database.

Thanks.

Ray

Also, if you added the driver to the classpath, you must restart the server.

Ray

Hi,

I am getting error in using JDBC for DB2. Here is the error I got when trying to test the connection in the Admin Console:

Could not connect: [IBM][JDBC Driver] CLI0615E Error receiving from socket, server is not responding. SQLSTATE=08S01

I have db2java.zip and db2jcc.jar in my classpath. Below are my driver and URL:

URL: jdbc:db2://s0900.aragorn.com:5048/INBOUND
driver: COM.ibm.db2.jdbc.net.DB2Driver

Any immediate help would be appreciated.

Maria,

Did you restart the server after you put the jars in the classpath? Also, can you ping the port from the box you are trying to connect to?

We had to configure a port for connection if other than the default (6789).

HTH

Ray

Hi Ray,

I hope you can help me with our DB2 connection issues with IS.
We are using IS6.1 and JDBC Adapter 6.0.3 for DB2. Here is our configuration:
IS 6.1 in Sun
DB2 7.2 OS 390
DB2 Connect 7.1.1

Before IS6.1, we are using WmDB with DB2 and we are perfectly working fine. Now with IS6.1, we are having a hard time connecting to it.

Here is our config in IS4.6 using WmDB, type 4 driver:
Alias: DI3G
DB URL: jdbc:db2://s0200d.wellsfargo.com:5054/DI3G
DB Username: something
DB Password: something
DB Driver: com.ibm.db2.jcc.DB2Driver

Here is our config in IS6.1 using WmDB, type 3 driver: (we were told by WebMethods Support that they do support type 3 only for JDBC DB2 for OS 390)
Alias: DT3G
DB URL: jdbc:db2://s0200d.wellsfargo.com:5054/DI3G
DB Username: something
DB Password: something
DB Driver: COM.ibm.db2.jdbc.net.DB2Driver

We wanted to test the connection here in WmDB for type 3 but we are getting this error:
Could not connect: [IBM][JDBC Driver] CLI0615E Error receiving from socket, server is not responding. SQLSTATE=08S01

Here is the equivalent configuration in JDBC Adapter console:
Connection Type: JDBC Adapter Connection
Transaction Type: WF_EN_DBInterface
DataSouce Class: COM.ibm.db2.jdbc.DB2DataSource
server name: s0200d.wellsfargo.com
User: something
password: something
database name: DI3G
portnumber: 5054.

Am i missing something?
Any help would be appreciated.

Thanks.