2013-11-18 3 views
1

Я пытаюсь настроить источник данных ColdFusion 8 с помощью JDBC на сервере CLSE5 Linux. Я загрузил драйверы JDBC из Oracle для 10g и 11g и поместил JAR-файлы в %CF_INSTALL_Folder%/runtime/lib. Я подтвердил, что эта папка находится в пути к классу на странице сводок параметров администрирования CF. В соответствии с этим Oracle JDBC wiki, то URL JDBC должен быть:Настройка Oracle JDBC Datasources

jdbc:oracle:thin:@[HOST][:PORT]:SID 

Если я хочу использовать различные драйверы для различных соединений, Как разграничить между ними в виде соединения с источником данных?

+0

Я не использую Oracle, но ... в баночках содержатся разные имена классов? Как и в любой java-банке, для загрузки нескольких версий они ** должны ** иметь разные имена классов. В противном случае, JVM будет просто выбрать первую найденную банку и использовать ее. Обычно при создании java-объектов, т.е. 'createObject (« java », ...)' вы можете обойти это ограничение, используя динамический загрузчик классов, например JavaLoader.cfc. Но я не думаю, что это можно сделать с источниками данных CF. – Leigh

ответ

1

Укажите, какой драйвер JDBC следует использовать, указав имя класса JAR в поле «» «Класс драйвера» на странице администрирования источника данных. Однако это требует, чтобы ваши два файла JAR имели уникальные имена классов.

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

Вот ссылка на некоторые документы, описывающие различные поля на странице администрирования источника данных: Connecting to other data sources

Драйвер класса

Полное имя класса драйвера. Например, com.inet.tds.TdsDriver. Файл JAR, содержащий этот класс, должен находиться в каталоге, определенном в пути к классу ColdFusion.

+0

Спасибо Мигель. Я в тупике, как узнать, что это за классное имя? – user1030142

+0

Я считаю, что имя класса для этих драйверов - 'oracle.jdbc.OracleDriver', и я боюсь, что это одинаково для обеих версий. Я бы попробовал драйверы 11g с обоими вашими базами данных 11g и 10g. По крайней мере, пока у вас не возникнут какие-либо проблемы. Это должно быть хорошо, если вы не используете что-то, доступное только в 11g. –