Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Versionshinweise

Im Lieferumfang enthaltene Sun JDBC-Treiber

In diesem Abschnitt werden bekannte Probleme der im Lieferumfang enthaltenen Sun JDBC-Treiber sowie ihre Lösungen beschrieben.

Bug-ID 

Zusammenfassung 

6165970 

Anwendungen, die die TRANSACTION_SERIALIZABLE-Isolationsebene zusammen mit dem im Paket enthaltenen Sun-Treiber für Microsoft SQL Server verwenden, hängen, wenn eine vorbereitete Aktualisierungsanweisung verwendet wird, die einsetzt, wenn zwei Transaktionen parallel ausgeführt werden und eine der Transaktionen rückgängig gemacht wird.

Um die Isolationsebene für eine Verbindung wie gewünscht setzen zu können, muss das entsprechende Verbindungspool auf derselben Isolationsebene erstellt werden. Einzelheiten zur Konfiguration von Verbindungspools finden Sie im Administration Guide. 

Lösung

Zu diesem Zeitpunkt steht keine Lösung zur Verfügung. 

6170432 

PreparedStatement-Fehler.

Beschreibung 1

Wenn eine Anwendung mehr als 3000 PreparedStatement-Objekte in einer Transaktion generiert, kann folgender DB2-Fehler auftreten:

[sunm][DB2 JDBC Driver] No more available statements. Erstellen Sie Ihr Paket mit einem höheren dynamicSections-Wert neu.

Lösung 1

Fügen Sie die folgenden Eigenschaften zur Verbindungspooldefinition hinzu, damit der Treiber DB2-Pakete mit einem größeren dynamischen Abschnittswert neu bindet:  

createDefaultPackage=true replacePackage=true dynamicSections=1000

Einzelheiten zur Konfiguration von Verbindungspools finden Sie im Administration Guide.

Beschreibung 2

Im Zusammenhang mit dem oben erwähnten PrepardStatement-Fehler kann folgender Fehler auftreten:

[sunm][DB2 JDBC Driver][DB2]Virtueller Speicher oder Datenbankressource steht nicht zur Verfügung.

Lösung 2

Erhöhen Sie den Wert des Konfigurationsparameters APPLHEAPSZ des DB2-Servers. Ein geeigneter Wert ist 4096.

Beschreibung 3

Isolationsebene TRANSACTION_SERIALIZABLE Wenn eine Anwendung die Isolationsebene TRANSACTION_SERIALIZABLE und einen der oben genannten Parameter verwendet, kann die Anwendung beim Verbindungsaufbau abstürzen.

Lösung 3

Um die Isolationsebene für eine Verbindung wie gewünscht setzen zu können, muss das entsprechende Verbindungspool auf derselben Isolationsebene erstellt werden. Anweisungen dazu finden Sie im Administration Guide.

6189199 

Probleme beim Einrichten der Isolationsebene mit dem im Paket gelieferten Sun-Treiber für Sybase Adaptive Server. 

  • Anwendungen, die die TRANSACTION_SERIALIZABLE-Isolationsebene zusammen mit dem im Paket enthaltenen Sun-Treiber für Sybase Adaptive Server verwenden, hängen, wenn eine vorbereitete Aktualisierungsanweisung verwendet wird, die einsetzt, wenn zwei Transaktionen parallel ausgeführt werden und eine der Transaktionen rückgängig gemacht wird. Der Rollback der Verbindungen schlägt fehl und folgende Meldung wird angezeigt. Die Verbindungen, für die das Rollback durchgeführt werden sollte, können nicht mehr verwendet werden.

    java.sql.SQL-Ausnahmefehler: [sunm][Sybase JDBC Driver]Request cannot be submitted due to wire contention

  • Die TRANSACTION_REPEATABLE_READ-Isolationsebene wird von Sybase Adaptive Server nicht unterstützt. Beim Abfragen von DatabaseMetaData gibt der Sun-Treiber jedoch an, dass diese Isolationsebene von der Datenbank unterstützt wird. Die Ausführung der Anwendungen, die diese Isolationsebene verwenden, schlägt fehl.

  • Anwendungen, die den mitgelieferten Sun-Treiber verwenden, können die Isolationsebene TRANSACTION_READ_UNCOMMITTED nicht festlegen. Beim Zugreifen auf DataBaseMetaData gibt die Anwendung folgenden Ausnahmefehler aus:

    java.sql.SQL-Ausnahmefehler: [sunm][Sybase JDBC Driver][Sybase]Das Optimierungswerkzeug (Optimizer) konnte keinen eindeutigen Index finden, der für das Durchführen einer Suche auf Isolationsebene 0 in Tabelle 'sybsystemprocs verwendet werden könnte.dbo.spt_server_info'.

Lösung

Zu diesem Zeitpunkt steht keine Lösung zur Verfügung. 

6247468 

Unter Solaris 10 und Enterprise Linux 3.0 lässt der im Sun-Paket enthaltene Oracle JDBC-Treiber keine Verbindungserstellung zu. 

Lösung

Setzen Sie die folgende Eigenschaft im JDBC-Verbindungspool, wenn Sie die SUN JDBC-Oracle-Datenquelle verwenden (com.sunsql.jdbcx.oracle.OracleDataSource):

<property name="serverType" value="dedicated"/>

Der Wert der Eigenschaft hängt davon ab, wie der Listener des Oracle-Servers konfiguriert ist. Wenn er im Modus "shared" konfiguriert ist, muss der obige Wert zu "dedicated" geändert werden. 

6554602 

Wenn sich beim Start mit JDBC 10.2-Treibern mehr als eine JDBC JAR-Datei in CLASSPATH befindet, kann dies zu folgender Ausnahme führen: java.lang.SecurityException: Sealing violation exception.

Genaue Erläuterungen von Oracle finden Sie in der folgenden Oracle Document ID: 

Hinweis: 405446
Betreff: JDBC-Treiber 10.2 verwendet versiegelte JAR-Dateien und kann zu 
der Sicherheitsausnahme einer Siegelverletzung führen.

Lösung

(Vorschlag von Oracle) Stellen Sie sicher, dass der CLASSPATH nur eine JDBC-Treiber-JAR-Datei enthält.