After applying a Support Package, you may find that your JDBC applications stop working, and you receive a message similar to the following:
The sajdbc4.jar build does not match the shared object build.
This message can be returned because either Interactive SQL, Sybase Central, the fast launchers, or your own JDBC applications were running when the Support Package was applied. In this case the Java VM locks any DLLs or shared objects that are loaded by it, but does not lock the JAR files. As a result, applying the Support Package often updates the sajdbc4 and jodbc4 JAR files, but not the accompanying dbjdbc16 and/or dbjodbc16 DLL or shared object. When the JDBC application is restarted, the JDBC JAR file does not match the build of the accompanying DLL or shared object, and a message like the one above is returned.
First try shutting down all JDBC-based applications and then reapplying the Support Package. If reapplying the Support Package does not work, try resolving the problem through the following methods:
Check that the Support Package installer properly updated DLLs and shared objects
On Windows, check that the dbjdbc16.dll and dbjodbc16.dll files were properly updated when applying the Support Package.
On Linux/Unix, check that the libdbjdbc16.so.1 and libdbjodbc16.so.1 shared objects were properly updated when applying the Support Package.
On Mac OS X, check that the libdbjdbc16.dylib and libdbjodbc16.dylib shared objects were properly updated when applying the Support Package.
There may be both 32-bit and 64-bit versions of the DLLs or shared objects installed on your system. When checking the DLLs or shared objects, you must check those that match the bitness of the JAVA VM, not the bitness of the SQL Anywhere server.
Check that there are not multiple copies of the DLLs and shared objects on your system If the DLLs or shared objects have been properly updated, make sure that you do not have multiple copies of the DLLs or shared objects with the same bitness. You have multiple copies of DLLS if you have copied the DLLs or shared objects to the extensions folders of the Java VM to bypass the Java restriction that does not allow DLLs and shared objects to be loaded within multiple class loaders.
Check that the JAR files were properly updated If your DLLs or shared objects were properly updated, and there are not multiple copies on your system, then make sure that the various JAR files were properly updated. To check each JAR file, run the following commands, and ensure that the SQL Anywhere version and build number reported by the JAR file matches the SQL Anywhere version and build number of the Support Package you installed.
To check sajdbc4.jar, run the following command (replacing path with the path to the JAR file):
java -cp path\sajdbc4.jar sybase.jdbc4.sqlanywhere.IBuildNum
To check jodbc4.jar, run the following command (replacing path with the path to the JAR file):
java -cp path\jodbc4.jar ianywhere.ml.jdbcodbc.jdbc4.IBuildNum
Once you determine which JAR file, DLL, or shared object does not match the Support Package build number, make sure that the file is not locked by an application, and then reapply the Support Package.
Discuss this page in DocCommentXchange.
|Copyright © 2014, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0|