Проблема MDS-соединения на базе JDeveloper DB - PullRequest
0 голосов
/ 27 апреля 2011

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

Я заглянул во вкладку JDeveloper Messages и вижу такую ​​ошибку:

ВНИМАНИЕ: Ошибка чтения разделов БД для имени подключения 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 oracle.tip.tools.ide.common.resourcepalette.adapter.mds.DBConnectionInfo ВНИМАНИЕ: Ошибка чтения разделов БД для имени соединения Connection2. Причина:

1 Ответ

4 голосов
/ 09 августа 2011

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

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

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

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

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

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

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

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

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

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

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

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

Решение, чтобы заставить задачу ant scac работать:

Я получил сборку немного впередделая по существу то же самое.Я добавил банку драйвера JDBC в classpath 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-все задачи в приложении Oracle Fusion Order Demo.Любые советы по этому поводу приветствуются.

...