2009-07-17 8 views
1

Ich habe eine Web-Anwendung gehostet auf BEA Weblogic 10.x mit einem Oracle 10g Datenbank-Backend.Was verursacht einen JDBC Typ 91 Fehler?

Es arbeitet perfekt mit einer Datenbank, aber wenn wir einen Klon davon machen und versuchen, einen anderen WebLogic und Oracle-Instanz verwenden wir diesen Fehler erhalten:

ERROR - Problem initializing invocation tracking - disabling 
tracking xxxxclass.BadTableMappingException: Database column 
xxxxPeriodEnding in database yyyyyyy, table zzzzzzz has an 
unknown type: JDBC Type 91. 

wir es bekommen jedes Mal, wenn wir ein tun Abfrage mit einer Spalte vom Typ DATE. Es gab keinen ORA-XXXX Code in der Nachricht.

Ich kann auf die Datenbank zugreifen, indem ich SQL * Plus mit dem gleichen Zugriff verwende und in derselben Tabelle ohne Fehler auswähle und aktualisiere.

Die Antwort auf diese Frage ist nicht nur eine einfache Beschreibung dessen, was ein type 91 error ist (obwohl das helfen wird), aber was könnte dies unter den oben beschriebenen Umständen verursachen.

Ich verwende ojdbc14.jar für JDBC in beiden Fällen von Weblogic.

+0

Haben Sie eine SQLException erhalten? Wenn ja, gab es in der Nachricht einen ORA-XXXX-Code? – skaffman

Antwort

0

Ich habe keine Ahnung von dem Fehler, aber haben Sie die jdbc jar-Version berücksichtigt und, was noch wichtiger ist, wenn die Oracle DB aktualisiert werden muss.

Ich hatte sehr seltsame Probleme mit Orakel, und kämpfte für eine Weile, um am Ende zu finden, dass die Installation einiger Patches für Orakel das Problem lösen würde.

+0

Ich vermute die JDBC-Jar-Datei, aber es ist angeblich identisch zwischen den beiden Weblogic-Instanzen. Ich werde das am Morgen genauer untersuchen. – Mike

0

Set oracle.jdbc.V8Compatible=true.

Dies ordnet den Orakel-DATE-Typ in JDBC einer DATETIME Zeit zu. Dieser Parameter fehlte auf dem neuen Weblogic-Server.