I am trying to generate synchronization logic between Oracle, Mobilink and a SQL Anywhere reference database. For that I am running a build.xml with Ant that calls SyncObjectGenerator.jar. Getting the following exception block: [java] MakeConnection - SQL Exception [java] java.sql.SQLException: The sajdbc.jar build does not match the shared object build [java] at sybase.jdbc4.sqlanywhere.IDriver.makeODBCConnection(Native Method) [java] at sybase.jdbc4.sqlanywhere.IDriver.connect(IDriver.java:811) [java] at java.sql.DriverManager.getConnection(DriverManager.java:664) [java] at java.sql.DriverManager.getConnection(DriverManager.java:270) [java] at ianywhere.ml.tools.SyncObjectGenerator.makeConnection(Unknown Source) [java] at ianywhere.ml.tools.SyncObjectGenerator.execute(Unknown Source) [java] at ianywhere.ml.tools.SyncObjectGenerator.main(Unknown Source) [java] **java.sql.SQLException: The sajdbc.jar build does not match the shared object build** [java] at sybase.jdbc4.sqlanywhere.IDriver.makeODBCConnection(Native Method) [java] at sybase.jdbc4.sqlanywhere.IDriver.connect(IDriver.java:811) [java] at java.sql.DriverManager.getConnection(DriverManager.java:664) [java] at java.sql.DriverManager.getConnection(DriverManager.java:270) [java] at ianywhere.ml.tools.SyncObjectGenerator.makeConnection(Unknown Source) [java] at ianywhere.ml.tools.SyncObjectGenerator.execute(Unknown Source) [java] at ianywhere.ml.tools.SyncObjectGenerator.main(Unknown Source) I ran java -cp sajdbc4.jar sybase.jdbc.sqlanywhere.IBuildNum. I am getting the version 16.0.0.2193 What is the workaround here? Please suggest. Note: 1. Oracle, mobilink and sql anywhere reference db - all are running in my consolidated server 2. I am using SQL Anywhere 16.0.0.2043. The required version for the application was 16.0.0.1823 or higher. |
Note: This question was originally posted as an answer to that FAQ...
I converted it to a question (as it is one, obviously), but unfortunately, it seems the nested comments from Chris Keating and rohinibasuu have not been converted (so far?) but are nevertheless no more available with the previous thread, either...
Sorry for messing things up... - Graeme, can you fix that...
Hm, according to that meta-FAQ on converting answers into questions, I'm sure it should have worked as expected - there was one answer with some nested comments, and in my understanding that should be converted as a nested entity, as Mark has stated...
Many thanks for converting it to a question. :)
I have edited my question itself on the basis of the nested conversations with Chris Keating.
There is a hard requirement that the version of the SQL Anywhere JDBC driver jar be the same version as the native libraries that it uses. The "workaround" is really a requirement. You must use the same version of files for both the JAVA and native libraries that make up the SQL Anywhere JDBC driver files.
You indicate that you are using SQL Anywhere 16.0.0.2043. The sajbdc*.jars should all be that version (or vice versa).
If on Windows, I would likely do the following:
1) Make a backup of the following files
@Chris, that list seems somewhat incomplete...:)
@Rohini: You state you are using 16.0.0.2193 (the sajdbc4.jar) and 16.0.0.2043 (as database server?). So that's the mismatch.
Thanks Chris and Volker. I am trying to find SQL Anywhere 16.0.0.2193 version (if it exists). The sajdb4.jar of version 16.0.0.2193 was provided with the application bundle itself.
It does: That's 16.0 SP43 Build 2193 for Windows, released 22.10.2015.
(You might as well try to replace 16.0.0.2193 sajdbc4.jar with that of the .2043 version...)
And of course, if you are doing new development, I'd recommend to use the freshest EBF, currently (on Windows) 16.0.2344 (SP65), released 01.11.2016.
So after replacing 16.0.0.2193 sajdbc4.jar with 16.0.0.2043 sajdbc4.jar, the build is successful.
Thanks all :)
FYI, I am yet to find that 2193 build of SQL Anywhere. Looking in this page: http://sqlanywhere.blogspot.ca/search/label/latest%20EBFs
> somewhat incomplete
There are two kinds of people in the world.
1) Those who can extrapolate from incomplete data.
You will have to go to the SAP Support Portal to get current EBFs, which requires a support contract, AFAIK...
The list you cited is maintained by Breck himself - and shows the following date:
So it's no surprise you'll not find newer EBFs there.
(In my understanding, Breck has stopped updating that list as EBFs are no more publically available, and there's no way to add links to the according downloads in the SAP Support Portal...)
Wow, that really made my day:)
Although, the new SCN community is good for fun, as well:)