Oracle から SQL (実装された異種サービス) への dblink 'POC_HS' を作成しました。DSN (SQL サーバー用) が接続されているデフォルトのデータベースからデータを正常に引き出すことができます。
したがって、この「select * from Test@POC_HS」は、「Test」テーブルがデフォルトのデータベース (システム DSN が接続されている) に存在するため、Oracle データベース上で完全に正常に機能します。
しかし、Testテーブルがデフォルトのデータベースではない「ABC」データベースにある「select * Abc.Test@POC_HS」を実行すると、次のようなエラーがスローされます。
ORA-00942: テーブルまたはビューが存在しません [ODBC を使用した汎用接続][Microsoft][ODBC SQL Server Driver][SQL Server]無効なオブジェクト名 'Abc.Test'.[Microsoft][ODBC SQL Server Driver][SQL Server ]ステートメントを準備できませんでした。(SQL ステータス: S0002; SQL コード: 208)
dblink ユーザーとシステム DSN アカウントは、'Abc' データベースにアクセスできます。
考え?