Что вызывает ошибку JDBC Type 91?

У меня есть веб-приложение, размещенное на BEA Weblogic 10.x с базой данных Oracle 10g.

Он отлично работает с одной базой данных, но когда мы делаем его клон и пытаемся использовать другой экземпляр WebLogic и Oracle, мы получаем эту ошибку:

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

Мы получаем его каждый раз, когда выполняем запрос, включающий столбец типа DATE. В сообщении не было кода ORA-XXXX.

Я могу получить доступ к базе данных с помощью SQL * Plus, используя тот же доступ, и выполнять выборку и обновление в тех же таблицах без ошибок.

Ответ на этот вопрос — это не просто описание того, что такое type 91 error (хотя это может помочь), но и то, что может быть причиной этого, учитывая обстоятельства, описанные выше.

Я использую ojdbc14.jar для JDBC в обоих экземплярах weblogic.


person Mike    schedule 17.07.2009    source источник
comment
Вы получили SQLException? если да, был ли в сообщении код ORA-XXXX?   -  person skaffman    schedule 17.07.2009


Ответы (2)


Я понятия не имею об ошибке, но рассмотрели ли вы версию jdbc jar и, что более важно, нужно ли обновлять базу данных оракула.

Я столкнулся с очень странными проблемами с оракулом и какое-то время пытался найти в конце, что установка некоторых патчей для оракула решит проблему.

person Ahmad Y. Saleh    schedule 17.07.2009
comment
Я подозреваю файл jar JDBC, но он предположительно идентичен между двумя экземплярами weblogic. Я буду исследовать это больше утром. - person Mike; 17.07.2009

Установите oracle.jdbc.V8Compatible=true.

Это переназначает тип DATE оракула на время DATETIME в JDBC. Этот параметр отсутствовал на новом сервере Weblogic.

person Eric Leschinski    schedule 17.08.2013