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

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere 12 - Änderungen und Upgrades » Upgrade von SQL Anywhere 12 » SQL Anywhere-Server-Ugrades » Fehlerbehandlungshinweise für Upgrades

 

Vergewissern Sie sich, dass keine JDBC-Anwendungen bei der Übernahme eines EBF laufen

Nach der Anwendung eines EBF stellen Sie möglicherweise fest, dass Ihre JDBC-Anwendungen nicht mehr laufen, und Sie erhalten eine Fehlermeldung der folgenden Art:

Der sajdbc.jar-Build stimmt nicht mit dem Shared Object-Build überein.

Diese Meldung wird möglicherweise zurückgegeben, weil entweder Interactive SQL, Sybase Central, die Schnelllader oder Ihre eigenen JDBC-Anwendungen ausgeführt wurden, als das EBF übernommen wurde. In diesem Fall sperrt die Java VM alle DLLs oder die Shared Objects, die von ihr geladen werden, aber sie sperrt die JAR-Dateien nicht. Dies führt dazu, dass bei der Übernahme der EBF häufig sajdbc-, sajdbc4-, jodbc- und/oder jaodbc4 JAR-Dateien aktualisiert werden, aber nicht die entsprechenden dbjdbc- und/oder dbjodbc-DLL oder das Shared Object. Wenn die JDBC-Anwendung neu gestartet wird, passt die JDBC JAR-Datei nicht zu der entsprechenden DLL oder dem Shared Object. Die obige Meldung wird ausgegeben.

Versuchen Sie zunächst, alle JDBC-basierten Anwendungen zu schließen und dann das EBF erneut zu übernehmen. Wenn die erneute Übernahme des EBF nicht funktioniert, versuchen Sie das Problem mit einer der folgenden Methoden zu lösen:

  • Prüfen Sie, ob die DLLs und Shared Objects durch das EBF-Installationsprogramm aktualisiert wurden.  

    • Unter Windows überprüfen Sie, ob die Dateien dbjdbc.dll und dbjodbc.dll aktualisiert wurden, wenn Sie das EBF übernehmen.

    • Unter Unix prüfen Sie, ob die Shared Objects libdbjdbc.so.1 und libdbjodbc.so.1 bei der Übernahme des EBF richtig aktualisiert wurden.

    Hinweis

    Wenn Sie die DLLs oder Shared Objects prüfen, müssen Sie jene prüfen, die mit dem Bitwert der JAVA VM üebreinstimmen, und nicht diejenigen, die mit dem Bitwert des SQL Anywhere-Servers übereinstimmen.

  • Überprüfen Sie, dass nicht mehrere Kopien der DLLs oder Shared Objects auf Ihrem System vorhanden sind   Wenn die DLLs und Shared Objects korrekt aktualisiert wurden, vergewissern Sie sich, dass Sie nicht mehrere Kopien der DLLs oder Shared Objects haben. Dies kann auftreten, wenn Sie die DLLs oder Shared Objects in den Erweiterungsordner der Java VM kopiert haben, um die Java-Einschränkung zu umgehen, die nicht zulässt, dass DLLs oder Shared Objects in mehreren Klassenladern geladen werden.

  • Prüfen Sie, ob die JAR-Dateien korrekt aktualisiert wurden   Wenn die DLLs und Shared Objects korrekt aktualisiert wurden und nicht mehrere Kopien auf Ihrem System vorhanden sind, vergewissern Sie sich, dass die verschiedenen JAR-Dateien korrekt aktualisiert wurden. Um alle JAR-Dateien zu prüfen, führen Sie die folgenden Befehle aus und stellen Sie sicher, dass die von der JAR-Datei gemeldete SQL Anywhere Version und Build-Nummer mit der installierten SQL Anywhere-Version und der Build-Nummer des EBF übereinstimmt.

    Zur Prüfung von sadbc.jar führen Sie folgenden Befehl aus:

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

    Zur Prüfung von sajdbc4.jar führen Sie folgenden Befehl aus:

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

    Zur Prüfung von jodbc.jar führen Sie folgenden Befehl aus:

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

    Zur Prüfung von jodbc4.jar führen Sie folgenden Befehl aus:

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

    Wenn Sie ermittelt haben, welche JAR-Datei, DLL oder welches Shared Object nicht der EBF Build-Nummer entspricht, stellen Sie sicher, dass die Datei nicht von einer Anwendung gesperrt ist, und wenden Sie das EBF erneut an.