JDBC Issues

Hi,

We are using SAP BC 4.7
I’m trying to get SQLServer JDBC working

We’ve placed the jar files in \lib\jars\

3 files downloaded from the microsoft

If i click on about on the server, i can see the files in the classpath…

I’ve added a line in the sever.cnf file to try to load the driver…

In our QA environment this has worked fine, the driver is loaded and running…

In our production environment no joy… :wink:

Class Not Found Exception

com.microsoft.jdbc.sqlserver.SQLServer

No Driver Loaded

SAP BC is saying its not in the class path… but that’s simply not the case…

Have we missed a step out… ?

Can anyone help?

Regards

Hi,

Don’t think you need to add anything in server.cnf for it. Just place the 3 jar files in your IS/lib/jars directory. You then need to Restart IS.

In Adapter connection use this

driver Name:com.microsoft.jdbcx.sqlserver.SQLServerDataSource

Other Properties selectMethod=cursor;loginTimeout=30

HTH

Hi,

The jar’s are :-

/opt/sapbc47/Server/lib/jars/msbase.jar
/opt/sapbc47/Server/lib/jars/mssqlserver.jar
/opt/sapbc47/Server/lib/jars/msutil.jar

As you can see, in the correct location…

Java Version 1.3.1_15

com.microsoft.jdbc.sqlserver.SQLServerDriver in DB Driver…

The error is as follows :-

2006-10-24 11:27:46 BST com.wm.app.b2b.server.DBConnectionException: No suitable driver
    at com.wm.app.b2b.server.JDBCConnection.<init>(JDBCConnection.java:278)
    at com.wm.app.b2b.server.DBConnectionManager.getConnection_Session(DBConnectionManager.java:424)
    at com.wm.app.b2b.server.DBConnectionManager.getConnection(DBConnectionManager.java:216)
    at pub.db.getConnection(db.java:1046)
    at pub.db.getTables(db.java:642)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:288)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:693)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:485)
    at com.wm.app.b2b.server.ns.Namespace.invoke(Namespace.java:452)
    at com.wm.util.template.Reporter.invoke(Reporter.java:867)
    at com.wm.util.template.InvokeToken.eval(InvokeToken.java:70)
    at com.wm.util.template.TemplateToken.evalChild(TemplateToken.java:174)
    at com.wm.util.template.TemplateToken.eval(TemplateToken.java:143)
    at com.wm.util.template.Reporter.reportNoReset(Reporter.java:1167)
    at com.wm.util.template.Reporter.reportToOutput(Reporter.java:1142)
    at com.wm.util.template.Reporter.reportIData(Reporter.java:1031)
    at com.wm.app.b2b.server.HTTPDocHandler._process(HTTPDocHandler.java:485)
    at com.wm.app.b2b.server.HTTPDocHandler.process(HTTPDocHandler.java:116)
    at com.wm.app.b2b.server.HTTPDispatch.run(HTTPDispatch.java:468)
    at com.wm.util.pool.PooledThread.run(C:/NT/Perforce/basis/4.1.0-terra/module/core/source/com/wm/util/pool/PooledThread.java:103)
    at java.lang.Thread.run(Thread.java:479)

I think you may need to copy javaxsql.zip to the lib/jars directory as well. At least that’s what I have in my notes from the last time I did work with BC.

Hi,

In our QA environment that’s working… we don’t have this file :wink:

Regards

Your DataSource Class should be

com.microsoft.jdbcx.sqlserver.SQLServerDataSource
See if this helps

Get the following error…

2006-10-26 10:01:15 BST com.wm.app.b2b.server.DBConnectionException: No suitable driver
    at com.wm.app.b2b.server.JDBCConnection.<init>(JDBCConnection.java:278)
    at com.wm.app.b2b.server.DBConnectionManager.getConnection_Session(DBConnectionManager.java:424)
    at com.wm.app.b2b.server.DBConnectionManager.getConnection(DBConnectionManager.java:216)
    at pub.db.getConnection(db.java:1046)
    at pub.db.getTables(db.java:642)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:288)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:693)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:485)
    at com.wm.app.b2b.server.ns.Namespace.invoke(Namespace.java:452)
    at com.wm.util.template.Reporter.invoke(Reporter.java:867)
    at com.wm.util.template.InvokeToken.eval(InvokeToken.java:70)
    at com.wm.util.template.TemplateToken.evalChild(TemplateToken.java:174)
    at com.wm.util.template.TemplateToken.eval(TemplateToken.java:143)
    at com.wm.util.template.Reporter.reportNoReset(Reporter.java:1167)
    at com.wm.util.template.Reporter.reportToOutput(Reporter.java:1142)
    at com.wm.util.template.Reporter.reportIData(Reporter.java:1031)
    at com.wm.app.b2b.server.HTTPDocHandler._process(HTTPDocHandler.java:485)
    at com.wm.app.b2b.server.HTTPDocHandler.process(HTTPDocHandler.java:116)
    at com.wm.app.b2b.server.HTTPDispatch.run(HTTPDispatch.java:468)
    at com.wm.util.pool.PooledThread.run(C:/NT/Perforce/basis/4.1.0-terra/module/core/source/com/wm/util/pool/PooledThread.java:103)
    at java.lang.Thread.run(Thread.java:479)

The connection string is correct…
The box can talk to the SQL server, we’ve confirmed this by running a java class that connector to the sql server…

Is feels like the java root is the issue…

but we carn’t find any differences between our QA install and our Production install

Its getting more interesting :slight_smile:

If we point the SAP BC software to run under a different JavaHome e.g.
1.4 the JDBC connection works…

However we have other processes on the SAP BC that use the security API for SSL connections to our trading partners. This part requires Java 1.3

Its like looking for a needle in a hay stack… the jar files are listed in the ‘about’ screen…

Regards