0

JDeveloper での DB ベースの MDS 接続の作成中に、パーティションのリストが空になります。Oracle と SQL Server の両方に Oracle SOA Suite 11g をインストールしようとしましたが、異なる jdbc ドライバーを使用する JDeveloper でこの問題が発生しました。もちろん、データベース内の MDS スキーマは Oracle リポジトリ作成ユーティリティを使用して作成され、sys/sa およ​​び DEV_MDS ユーザーの両方が試行されました。

JDeveloperの「メッセージ」タブを調べたところ、次のようなエラーが表示されました:

警告: 接続名 Connection1 のデータベース パーティションの読み取り中にエラーが発生しました。理由 : MDS-00003: データベースへの接続エラー
ユニバーサル接続プールを開始できません: oracle.ucp.UniversalConnectionPoolException: ユニバーサル接続プール マネージャー MBean でのプール作成中のエラー: oracle.ucp.UniversalConnectionPoolException: ユニバーサル接続プールでのプール作成中のエラーManager: 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

JDBC-driver (Microsoft SQL Server JDBC Driver 3.0) として指定した sqljdbc4.jar のクラスなので、おかしいです。

そこで、jTDS SQL Server ドライバーを試してみたところ、次のようなエラーが発生しました。

2011 年 4 月 26 日 9:52:01 PM oracle.tip.tools.ide.common.resourcepalette.adapter.mds.DBConnectionInfo 警告: 接続名 Connection2 のデータベース パーティションの読み取り中にエラーが発生しました。理由 :

4

1 に答える 1

4

この回答は「少し」遅れていますが、これに出くわした次のコーダーに役立つことを願っています。

私は現在、MDS データを含むバックエンド DB として MS SQL Server を使用して、単純な SOA/BPM/ADF アプリケーションを構築および展開しようとして、頭を悩ませています。

JDeveloper を使用して SQL Server インスタンスへの DB 接続を作成できましたが、新しい MDS 接続を作成しようとしたときに Denys と同じ問題に遭遇しました: パーティションのリストが空で、数時間 (または数日) 後に私はメッセージタブで同じエラーメッセージを発見しました:

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

実際の DB 接続は正常に機能していましたが。

また、JDeveloperのビルド・コマンドまたはMavenまたはAntタスクを使用してアプリケーションをビルドしようとすると、同じエラーが発生しました。

すべてのエラーは、JDBC ドライバーが欠落している方向を示していましたが、実際には JDBC ドライバーは欠落していませんでした。

非常に汚いハックを使用する必要がありましたが、最終的に問題を少なくとも部分的に解決することができました。

JDeveloperでMDS接続を作成するソリューション:

これを機能させるには、SQL サーバー用の JDBC ドライバーが実際に存在することを MDS モジュールに認識させる必要があったため、ドライバーの jar をモジュールのクラスパスに追加しました${jdev.home}/extensions/oracle.mds.dt.jar#META-INF/extension.xml

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

私の意見では、プロジェクトのライブラリ設定にドライバーを入れるだけで十分だったはずですが、どういうわけかそれではうまくいきません。

ant scac タスクを機能させるための解決策:

基本的に同じことを行うことで、ビルドを少し進めました。以下を変更して、JDBC ドライバーの jar を 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>

全体として、これらは私が望んでいたような解決策ではありませんが、おそらく他の誰かがそれらから恩恵を受けるでしょう.

wsdl ファイルが見つからない、または破損しているために、composite.xml の検証が失敗するところまで来ました。

[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

このエラーは、Oracle の Fusion Order Demo アプリケーションで compile-build-all タスクを実行しようとすると発生します。これに関するアドバイスは大歓迎です。

于 2011-08-09T12:49:17.417 に答える