2012-02-22 4 views
1

Вопрос для нового пользователя здесь ... Мне нужно выбрать драйвер JDBC для подключения Java-программы сервера приложений к базе данных Oracle 11G на другом сервере. Оба сервера - Linux CentOS, и они физически находятся рядом друг с другом и подключены через кросс-кабель Ethernet. Я не делаю Oracle RAC.при выборе драйвера Oracle JDBC для сервера приложений Linux

сайт Oracle перечисляет доступные опции:

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

Для справки, есть аналогичный пост здесь:

Which JDBC driver type should I use for accessing an Oracle Database?

Моя цель более конкретно: какой из них выбрать среди следующие драйверы (JDK 1.6)?

ojdbc6.jar (Classes for use with JDK 1.6. It contains the JDBC driver classes 
      except classes for NLS support in Oracle Object and Collection types) 
ojdbc6_g.jar (Same as ojdbc6.jar except compiled with "javac -g" and contains 
       tracing code) 
ojdbc6dms.jar (Same as ojdbc6.jar, except that it contains instrumentation to 
       support DMS and limited java.util.logging calls) 
ojdbc6dms_g.jar (Same as ojdbc6_g.jar except that it contains instrumentation to 
       support DMS) 

Q1: Действительно ли это все, что называет Oracle "JDBC тонкие" драйверы (или некоторые ОКИ "толстые" водителей)?

Q2: Эти все драйверы Type 4?

Q3: Все ли они свободны (при условии, что я приобрел лицензию на базу данных Oracle 11G)?

Q4: Предполагая, что время для компиляции не является проблемой, не все ли будут файлы _g.tar, тем более что опция -g компиляции (например, полезная для отладки) может быть отключена (например, для увеличения скорости для производства скомпилированного кода)? Или, когда я иду на производство, следует ли переключать драйверы в файл non _g (например, заменить ojdbc_g.jar на ojdbc.jar)?

Q5: Я даже не знаю, к чему относятся NLS или Oracle Object и Collection, или DMS. Любые советы о том, когда водители будут поддерживать эти концепции, были бы полезны.

ответ

2

A1. Да. JDBC Тонкий. Версия OCI связана с Мгновенным клиентом и специфична для платформы.

A2. Да. Это не зависящие от платформы, просто plug-n-play hehe.

A3. Да. Вы можете использовать их, несмотря на отсутствие лицензии на БД. Фактически вы соглашаетесь с лицензией OTN для их загрузки :)

A4. _g полезно в dev time. В противном случае оставайтесь с первым.

A5. NLS относится к поддержке интернационализации. Означает, что классов для поддержки NLS для объектов и коллекций не существует, но они используются только по очень конкретным требованиям о каких-либо данных, идущих между клиентом и БД. DMS относится к Dynamic Monitoring Metrics, и они также очень специфичны (обескуражены при общем использовании драйвера)

+0

Спасибо, Альфабраво! Следуя за A4, если я использую тот же сервер для разработки и производства, могу ли я загрузить как ojdbc6.jar AND ojdbc6_g.jar на сервере, а просто изменить код Java, чтобы выбрать между ними? Или, только один драйвер разрешен для каждого сервера? – ggkmath

+0

Драйвер - это просто JAR с классами и файлами, готовыми установить сокет и передать ваши запросы через него. Вы можете разместить их как в своем веб-проекте, так и на своем веб-сервере/контейнере. Но обратитесь к одному из них в пути к классам, чтобы соединение с БД использовало тот, который вы хотите.Если вы включите их в свои библиотеки проектов, есть шанс получить классное представление или что-то вроде этого. – Alfabravo

+0

Можно ли жестко закодировать полный путь к файлу jar в java-программе (я предполагаю, что файл jar нужно упомянуть в программе java, чтобы настроить его на использование JDBC)? – ggkmath

Смежные вопросы