cancel
Showing results for 
Search instead for 
Did you mean: 

Driver Class Could not be found

former_member226585
Participant
0 Kudos

Hello!

Im trying install JDBC driver into mi XI system (PI 7.3)

Driver was installed

pidadm 65>   cd /usr/sap/PID/DVEBMGS00/j2ee/cluster/bin/ext/com.sap.aii.adapter.lib/lib/

pidadm 66> ll

total 1048

-rwxr-xr-x. 1 pidadm sapsys    904 Aug 10 09:34 com.sap.aii.adapter.lib_api.jar

-rw-r--r--. 1 pidadm sapsys 537303 Aug 10 14:48 sqljdbc4.jar

-rw-r--r--. 1 pidadm sapsys 518072 Aug 10 09:34 sqljdbc.jar

And im was installed app http://localhost:50000/ftpjdbc

Im trying connection:

com.microsoft.sqlserver.jdbc

and received message:

ClassNotFoundException Occurred : Driver Class Could not be found.com.microsoft.sqlserver.jdbc

but to Oracle DB with class:

oracle.jdbc.driver.OracleDriver connecting is ok

whats is problem, guys?

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello Evgeniy,

check the deployed drives with SAP Note #1829286. But if I see it correctly, you have sqljdbc4.jar! file name (with "!" symbol at the end). Try to avoid it.

Also, please tell the MS SQL version you're connecting to. Adapter settings would be great as well

In any case, here's a good collection of "must read" materials for such a problem:

SAP KBA 2232201 - SAPClassNotFoundException thrown by JDBC adapter while connecting to Microsoft SQL Server 2008 database

SAP KBA 1829286 - PI: How to check which drivers are installed for the JMS and JDBC Adapters

SAP KBA 1816456 PI: Deploying new JMS/JDBC drivers overwrites existing deployed drivers

SAP KBA 1138877 How to Deploy External Drivers JDBC/JMS Adapters

SAP KBA 398807 - Microsoft SQL Server: JDBC driver support matrix

SAP KBA 2142959 - How to check the version of Microsoft JDBC Driver for SQL Server

Best regards,
Vadym

iaki_vila
Active Contributor
0 Kudos

Hi Evgeny,

Check the point 8 to know if the driver is deployed

Regards.

former_member226585
Participant
0 Kudos
former_member226585
Participant
0 Kudos

ClassNotFoundException Occurred : Driver Class Could not be found.com.microsoft.sqlserver.jdbc.SQLServerDriver

---------------------------------------------------------------

Exception Stack Trace : java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

------------------------- Loader Info -------------------------

ClassLoader name: [sap.com/testconnectionsEAR]

Loader hash code: 386cd0ad

vadimklimov
Active Contributor
0 Kudos

Hello Evgeniy,

Try deleting sqljdbc.jar from your assembled com.sap.aii.adapter.lib.sda and leave sqljdbc4.jar there. Then re-deploy newly assembled com.sap.aii.adapter.lib.sda to the PI system and test again.

Regards,

Vadim

former_member226585
Participant
0 Kudos

trying.... and get err

ClassNotFoundException Occurred : Driver Class Could not be found.com.microsoft.sqlserver.jdbc.SQLServerDriver

vadimklimov
Active Contributor
0 Kudos

Evgeniy, just to verify the class loader, can you please connect to the PI's application server via AS Java Telnet and use the command 'llr' to check if class loaders were successful to load this class at all. You may check the blog for details on this command usage. The particular command for checking MS SQL's JDBC driver here will be:

llr -all -f com/microsoft/sqlserver/jdbc/SQLServerDriver.class

If class loading was successful, then you shall be able to see something similar to the below found location in the output of the command:

jar:file:/D:/usr/sap/PID/DVEBMGS00/j2ee/cluster/bin/ext/com.sap.aii.adapter.lib/lib/sqljdbc4.jar!/com/microsoft/sqlserver/jdbc

I would assume the command may return no result to you indicating class loading of the driver class was not successful (otherwise I would expect FTP/JDBC Test Tool in PI to work well and recognise the class), but let this check be run.

If by any means you still get ClassNotFoundException for the driver class, can you also get the sqljdbc4.jar that was assembled into com.sap.aii.adapter.lib.sda, decompile it (my personal preference is JD-GUI - Java Decompiler, there is a good example on its usage in the blog , but technically speaking, any other Java decompiler at your choice shall be fine, too) and see if you can find the class SQLServerDriver right in the package com.microsoft.sqlserver.jdbc and not in a different package. There were changes of SQLServerDriver location between packages com.microsoft.jdbc.sqlserver and com.microsoft.sqlserver.jdbc in distributions for different MS SQL server versions, so makes sense to cross-check this point, too.

Regards,

Vadim

former_member226585
Participant
0 Kudos

Hi!

Tnx for you guide %)

that i give^

Welcome to server node 9703950.

>llr -all -f com/microsoft/sqlserver/jdbc/SQLServerDriver.class

jar:file:/usr/sap/PID/DVEBMGS00/j2ee/cluster/bin/ext/com.sap.aii.adapter.lib/lib/sqljdbc4.jar!/com/microsoft/sqlserver/jdbc/SQLServerDriver.class

But http://host:50000/ftpjdbc when i input com.microsoft.sqlserver.jdbc.SQLServerDriver into

Driver Class (fully qualified)

i have received ClassNotFoundException Occurred : Driver Class Could not be found.com.microsoft.sqlserver.jdbc.SQLServerDriver.class

vadimklimov
Active Contributor
0 Kudos

Evgeniy, llr output indicates the class was finely recognized and had been loaded, which looks perfectly good to me. Is it possible for you to prepare a scenario with JDBC sender or receiver, connecting to MS SQL database and using this class in configuration of the communication channel, just to verify if this is an issue with FTP/JDBC Test Tool or something different?

Regards,

Vadim