2011-12-20 19 views
4

DG4MSQLゲートウェイを使用してOracle 11gからSQL Server 2005へのdbリンクを作成しようとしています。はDG4MSQLを使用して作成されたdbリンク上でSQL Serverシステムテーブルを照会できません

DBリンクを作成した後、JDBCドライバを使用してSQL Serverシステムビュー(sys.servicesまたはsys.objects)を照会することはできませんが、JDBCドライバを使用してすべてのユーザーテーブルを照会できます。

私はsqlplusを使用すると、私はシステムテーブルを含むすべてのテーブルを照会することができます。私のプロジェクトはJavaプロジェクトなので、JDBCドライバを使用することになっています。

DG4MSQLゲートウェイの代わりにDG4ODBCを使用すると、JDBCドライバを使用してシステムテーブルを含むすべてのSQL Serverテーブルにクエリを実行できます。

DG4MSQLとJDBCドライバを使用してSQL Serverシステムテーブルを照会できる方法があれば教えてください。

答えて

0

この1つは

のOracle Gatewayは、操作の3種類行い、説明するのは少しトリッキーです:

  • SQLの翻訳(あなたが定期的にテーブルを照会、ビューなど)
  • データ・ディクショナリの翻訳を
(たとえば、Microsoftの日付は、Oracleの日付に)
  • データ型変換を(あなたは、システム・ビューを照会する場合)

    JDBCの場合、JDBC-ODBCブリッジにより、JDBCドライバはDG4ODBCに含まれるドライバと完全に互換性があります。したがって、JDBC + DG4ODBCでは上記のすべての変換を実行できます。

    DG4MSQLは独自のドライバを使用し、SQL変換のみをJDBCにブリッジすることができます。

    問題の解決策として、リモートSQLサーバーのシステム・ビューに基づいて、Oracleスキーマにローカル・ビューを作成できます。要件に応じて、マテリアライズド・ビューとして作成することもできます。

    CREATE OR REPLACE VIEW sys_services 
    AS SELECT * 
    FROM [email protected]; 
    

    と、代わりに直接[email protected]

    を照会するクエリsys_services
  • 関連する問題