Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere 12 変更点とアップグレード » SQL Anywhere 12 へのアップグレード » SQL Anywhere サーバーのアップグレード » アップグレードのトラブルシューティングの情報

 

EBF の適用時、JDBC アプリケーションが実行されていないことを確認

EBF の適用後、JDBC アプリケーションが動作を停止し、次のようなメッセージを受信する場合があります。

sajdbc.jar のビルドが共有オブジェクトのビルドと一致しません。

このメッセージは、EBF の適用時、Interactive SQL または Sybase Central の高速ランチャーや独自の JDBC アプリケーションが実行されていると返されることがあります。この場合、Java VM は、ロードしたすべての DLL または共有オブジェクトはロックしていますが JAR ファイルはロックしていません。その結果、EBF を適用することによって、対応する dbjdbc および dbjodbc DLL または共有オブジェクトはアップグレードせずに sajdbc、sajdbc4、jodbc、jaodbc4 の JAR ファイルはアップデートされてしまうことが頻繁に発生します。JDBC アプリケーションが再起動されたとき、JDBC JAR ファイルと対応する DLL または共有オブジェクトが一致せず、上記のメッセージが返されます。

まず、JDBC ベースのアプリケーションをすべてシャットダウンし、EBF を再適用してください。EBF の再適用で効果がない場合、次の方法で問題を解決してください。

  • EBF インストーラーで DLL と共有オブジェクトの正常なアップデートを確認  

    • Windows に EBF を適用する際に、dbjdbc.dll ファイルと dbjodbc.dll ファイルが正常にアップデートされたことを確認します。

    • UNIX に EBF を適用する際に libdbjdbc.so.1libdbjodbc.so.1 の共有オブジェクトが正常にアップデートされたことを確認します。

    注意

    DLL と共有オブジェクトの確認の際には、SQL Anywhere サーバーのビット数ではなく、JAVA VM のビット数と一致するものを確認する必要があります。

  • システムに DLL と共有オブジェクトのコピーが複数ないことを確認   DLL と共有オブジェクトが正常にアップデートされている場合、DLL または共有オブジェクトのコピーが複数ないことを確認する必要があります。これは、複数のクラスローダーに DLL や共有オブジェクトがロードされないようにする Java の制限をバイパスするために DLL または共有オブジェクトを Java VM の拡張フォルダーにコピーした場合に発生することがあります。

  • JAR ファイルが正常にアップデートされていることを確認   DLL と共有オブジェクトが正常にアップデートされ、システムにコピーが重複していなければ、さまざまな JAR ファイルが正常にアップデートされたことを確認します。各 JAR ファイルを確認するには、次のコマンドを実行し、JAR ファイルによってレポートされた SQL Anywhere のバージョンとビルド番号が、インストールした EBF の SQL Anywhere のバージョンとビルド番号と一致することを確認します。

    sadbc.jar を確認するには、次のコマンドを実行します。

    java -cp sajdbc.jar sybase.jdbc.sqlanywhere.IBuildNum

    sajdbc4.jar を確認するには、次のコマンドを実行します。

    java -cp sajdbc4.jar sybase.jdbc4.sqlanywhere.IBuildNum

    jodbc.jar を確認するには、次のコマンドを実行します。

    java -cp jodbc.jar ianywhere.ml.jdbcodbc.jdbc3.IBuildNum

    jodbc4.jar を確認するには、次のコマンドを実行します。

    java -cp jodbc4.jar ianywhere.ml.jdbcodbc.jdbc4.IBuildNum

    どの JAR ファイル、DLL、または共有オブジェクトが EBF のビルド番号と一致しないか判断できたら、アプリケーションでファイルがロックされていないことを確認し、EBF を再適用します。