Проблема с MDS-подключением на базе JDeveloper DB

При создании MDS-соединения на базе БД в JDeveloper список разделов пуст. Я пытался установить Oracle SOA Suite 11g как на Oracle, так и на SQL Server, и у меня возникла эта проблема в JDeveloper с разными драйверами jdbc. Конечно, схемы MDS в базе данных создаются с помощью утилиты Oracle Repository Creation, и были опробованы пользователи как sys/sa, так и DEV_MDS.

Я просмотрел вкладку "Сообщения JDeveloper" и вижу такую ​​ошибку:

ПРЕДУПРЕЖДЕНИЕ. Ошибка чтения разделов базы данных для имени соединения Connection1. Причина: MDS-00003: ошибка подключения к базе данных
Невозможно запустить пул универсальных соединений: oracle.ucp.UniversalConnectionPoolException: ошибка при создании пула в диспетчере пула универсальных соединений MBean: oracle.ucp.UniversalConnectionPoolException: ошибка при создании пула в Диспетчер универсального пула соединений: java.sql.SQLException: неверная конфигурация универсального пула соединений: java.sql.SQLException: невозможно создать экземпляр фабричного класса с указанным именем фабричного класса: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerXADataSource
Ошибка при создании пула в диспетчере пула универсальных соединений MBean: oracle.ucp.UniversalConnectionPoolException: ошибка при создании пула в диспетчере пула универсальных соединений: java.sql.SQLException: недопустимая конфигурация пула универсальных соединений: java.sql.SQLException: невозможно создать экземпляр фабричного класса с указанным именем фабричного класса: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc .SQLServerXADataSource

Странно, потому что это класс из sqljdbc4.jar, который я указал как JDBC-драйвер (Microsoft SQL Server JDBC Driver 3.0).

Итак, я попробовал драйвер jTDS SQL Server и получил такую ​​​​ошибку:

26 апреля 2011 г., 21:52:01 Причина :


person Denys Mitin    schedule 27.04.2011    source источник


Ответы (1)


Этот ответ приходит «немного» поздно, но, надеюсь, он будет полезен следующему кодеру, который наткнется на это.

В настоящее время я бьюсь головой о стену, пытаясь создать простое приложение SOA/BPM/ADF, созданное и развернутое с использованием MS SQL Server в качестве серверной базы данных, содержащей данные MDS.

Мне удалось создать соединение БД с экземпляром SQL Server с помощью JDeveloper, но я столкнулся с той же проблемой, что и Денис, когда попытался создать новое соединение MDS: список разделов был пуст, и через несколько часов (или дней) я обнаружил такое же сообщение об ошибке на вкладке «Сообщения»:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerXADataSource

хотя фактическое соединение с БД работало правильно.

Кроме того, всякий раз, когда я пытался собрать свое приложение с помощью команды сборки JDeveloper или задач Maven или Ant, я получал ту же ошибку.

Все ошибки указывали на отсутствие драйвера JDBC, которого на самом деле не было.

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

Решение для создания соединения MDS в JDeveloper:

Чтобы заставить это работать, мне пришлось заставить модуль MDS понять, что на самом деле существует драйвер JDBC для SQL-сервера, поэтому я добавил jar драйвера в путь к классам модуля в ${jdev.home}/extensions/oracle.mds.dt.jar#META-INF/extension.xml:

<classpath>c:/dev/jdbc/mssql/sqljdbc4.jar</classpath>

На мой взгляд, должно было быть достаточно просто иметь драйвер в настройках библиотеки проекта, но как-то это не срезало.

Решение для запуска задачи ant scac:

Я продвинул сборку немного вперед, сделав по сути то же самое. Я добавил jar драйвера JDBC в путь к классам scac, изменив ${jdev.home}/bin/ant-sca-compile.xml:

<path id="scac.tasks.class.path">
    <!-- Added this line -->
    <pathelement path="c:/dev/jdbc/mssql/sqljdbc4.jar"/>
</path>

В общем, это не те решения, на которые я надеялся, но, возможно, они пригодятся кому-то еще.

Теперь я нахожусь в точке, где моя проверка композитного.xml не проходит из-за отсутствия и/или поврежденных файлов wsdl:

[scac] Validating composite "C:\install\fod\CompositeServices\OrderBookingComposite\bin/..//composite.xml"
[scac] error: location {/ns:composite/ns:import[@location='oramds:/apps/FusionOrderDemoShared/services/orderbooking/OrderBookingProcessor.wsdl']}(15,125): Load of wsdl "oramds:/apps/FusionOrderDemoShared/services/orderbooking/OrderBookingProcessor.wsdl" failed
[scac] error: location {/ns:composite/ns:import[@location='oramds:/apps/FusionOrderDemoShared/services/partnersupplier/PartnerSupplierComposite.wsdl']}(25,30): Load of wsdl "oramds:/apps/FusionOrderDemoShared/services/partnersupplier/PartnerSupplierComposite.wsdl" failed
[scac] error: location {/ns:composite/ns:import[@location='oramds:/apps/FusionOrderDemoShared/services/oracle/fodemo/storefront/store/service/common/serviceinterface/StoreFrontService.wsdl']}(29,30): Load of wsdl "oramds:/apps/FusionOrderDemoShared/services/oracle/fodemo/storefront/store/service/common/serviceinterface/StoreFrontService.wsdl" failed
... continues with errors for everything else

Эта ошибка возникает при попытке выполнить задачу compile-build-all в демонстрационном приложении Oracle Fusion Order. Любые советы по этому поводу приветствуются.

person deltaforce2    schedule 09.08.2011