Можем ли мы использовать ojdbc14.jar с Oracel11g и jdk1.5
Я считаю, что есть разные варианты этих вопросов, которые уже заданы, но я хотел подтвердить это снова, так как мы очень близки к нашему выпуску и хотели проверить с сообществом
Мы уже довольно давно используем Oracle10g и java 1.5 с ojdbc14.jar. Я знаю, что ojbc14.jar обслуживается java 1.4. Но, к счастью, мы никогда не видели никаких проблем при использовании версии 1.5. Другой причиной не перехода на ojbc5 был тот факт, что мы вообще не видели ojdbc5.jar в установленном оракуле 10g.
Мы обновили нашу БД до 11g, и я не видел ojdbc14.jar. Означает ли это, что нам нужно перейти на ojdbc5.jar?
Мы готовы внести изменения. Но могут ли люди, сделавшие коммутатор, подтвердить, увидели ли они какие-либо проблемы, когда они изменили драйвер JDBC на ojdbc5.jar из ojdbc14.jar
В связи с этим было бы хорошо, если бы кто-то мог немного рассказать о dms-ароматах этой банки и о том, как ее использовать.
Ответы
Ответ 1
ojbc14
должен отлично работать с Oracle11g. Основные различия между ojbc14
и более поздними версиями - это более поздняя версия, поддерживающая более новые версии JDBC API, а также новые возможности новых версий oracle.
Если ваше приложение сочетается с ojbc14
как есть, есть небольшая причина для обновления драйвера, кроме того, что всегда полезно попробовать и отслеживать новые изменения по мере их поступления, чтобы поддерживать вашу систему в актуальном состоянии.
Ответ 2
Посмотрите список драйверов JDBC Oracle. Для 11g и 11g2 перечислены только ojdbc5.jar
и ojdbc6.jar
. Это может означать, что только они официально поддерживаются, поэтому, если у вас проблемы с ojdbc14.jar
, Oracle, вероятно, вам не поможет.
Если поддержка Oracle важна для вашего управления, я рекомендую обновить до ojdbc5.jar
.
Ответ 3
Ниже приведены предложения от Oracle:
драйверы 11.1 по умолчанию конвертируют SQL DATE в Timestamp при чтении из базы данных. Это всегда было правильным делом, и изменение в 9i было ошибкой. Драйверы 11.1 вернулись к правильному поведению. Даже если вы не установили V8Compatible в своем приложении, вы не должны видеть различий в поведении в большинстве случаев. Вы можете заметить разницу, если вы используете getObject для чтения столбца DATE. Результатом будет Timestamp, а не Date. Поскольку Timestamp является подклассом Date, это обычно не проблема. Если вы заметили, что разница заключается в том, что вы полагались на преобразование из DATE в Date, чтобы усечь компонент времени, или если вы делаете toString по значению. В противном случае изменение должно быть прозрачным.
Если по какой-то причине ваше приложение очень чувствительно к этому изменению, и вы просто должны иметь поведение 9i-10g, есть свойство соединения, которое вы можете установить. Установите mapDateToTimestamp в false, и драйвер вернется к поведению 9i-10g по умолчанию и карте DATE в Date.