Subject | Re: [Firebird-Java] FW: jdbc driver error |
---|---|
Author | Mark Rotteveel |
Post date | 2017-08-18T14:47:58Z |
On 18-8-2017 14:57, Andrew Fletcher andrew.fletcher@...
[Firebird-Java] wrote:
version is for Java 8 (as indicated by the JDK_1.8 in the URL). You will
need to use Jaybird-2.2.13-JDK_1.6.zip as Jaybird 2.2.x is the last
version to support Java 6. Java 6 is not supported by Jaybird 3.
initial comment that the classpath environment variable is not used SAP.
dependency (see
https://www.firebirdsql.org/file/documentation/drivers_documentation/java/3.0.1/release_notes.html#antlr-4-runtime),
for Jaybird 2.2 it is the right one.
problem is that SAP ERP is a Java Enterprise Edition (Java EE)
environment. You will need to use jaybird-<version>.jar, and **not**
jaybird-full-<version>.jar. You will also need to **remove**
connector-api-1.5.jar.
The jaybird-full library contains the classes of connector-api-1.5.jar
next to the normal Jaybird classes, and in a Java EE environment, the
classes from connector-api-1.5.jar are (or should be) provided by the
application server. Some application servers will refuse to load classes
from jars that contain classes that are already provided by themselves.
I'm not sure if that is the case with SAP, but it is likely.
Using jaybird-<version>.jar instead should solve that (just make sure
you use a Java 6 (JDK 1.6) version!).
If this doesn't solve the problem, it would really helpful to have more
context from the logs, because I suspect that there are warnings or
errors in the log before the ClassNotFoundException.
Mark
--
Mark Rotteveel
[Firebird-Java] wrote:
> We start our sap pi system via SAP management consoleYou are using Java 6, so you cannot use Jaybird-3.0.1-JDK_1.8.zip; that
> VM Name:
>
> SAP Java Server VM
> VM Vendor:
> SAP AG
>
> VM Java Version:
> 1.6.0_85
>
> VM Runtime Version:
> 6.1.072 24.71-b13
>
> Im wondering if the VM runtime version is the issue
> Tested with Jaybird-2.2.13-JDK_1.6.zip<https://github.com/FirebirdSQL/jaybird/releases/download/v2.2.13/Jaybird-2.2.13-JDK_1.6.zip> and Jaybird-3.0.1-JDK_1.8.zip<https://github.com/FirebirdSQL/jaybird/releases/download/v3.0.1/Jaybird-3.0.1-JDK_1.8.zip> same error as below
version is for Java 8 (as indicated by the JDK_1.8 in the URL). You will
need to use Jaybird-2.2.13-JDK_1.6.zip as Jaybird 2.2.x is the last
version to support Java 6. Java 6 is not supported by Jaybird 3.
> We have SQL JDBC deployed and that works connecting to a SQL databaseGiven that this classpath doesn't contain sqljdbc.jar, that confirms my
>
> Classpath environment variable set as system varible
> echo %classpath%
> E:\usr\sap\D30\DVEBMGS00\j2ee\cluster\bin\ext\com.sap.aii.adapter.lib\lib\jaybird-full-3.0.1.jar
initial comment that the classpath environment variable is not used SAP.
> Driver deployed on SAP PI javaIf you could have use Jaybird 3, this would have been the wrong
> antlr-runtime-3.4.jar
dependency (see
https://www.firebirdsql.org/file/documentation/drivers_documentation/java/3.0.1/release_notes.html#antlr-4-runtime),
for Jaybird 2.2 it is the right one.
> com.sap.aii.adapter.lib_api.jarRemove (see below)
> connector-api-1.5.jar
> jaybird-full-3.0.1.jarReplace with jaybird-2.2.13.jar (not jaybird-full!) for Java 6, see below
> log4j-core.jarIn any case, given the presence of j2ee in the path, I suspect the
> sqljdbc.jar
problem is that SAP ERP is a Java Enterprise Edition (Java EE)
environment. You will need to use jaybird-<version>.jar, and **not**
jaybird-full-<version>.jar. You will also need to **remove**
connector-api-1.5.jar.
The jaybird-full library contains the classes of connector-api-1.5.jar
next to the normal Jaybird classes, and in a Java EE environment, the
classes from connector-api-1.5.jar are (or should be) provided by the
application server. Some application servers will refuse to load classes
from jars that contain classes that are already provided by themselves.
I'm not sure if that is the case with SAP, but it is likely.
Using jaybird-<version>.jar instead should solve that (just make sure
you use a Java 6 (JDK 1.6) version!).
If this doesn't solve the problem, it would really helpful to have more
context from the logs, because I suspect that there are warnings or
errors in the log before the ClassNotFoundException.
Mark
--
Mark Rotteveel