PL/SQL APIとして機能するOracleデータベース(バージョン8)があり、そのデータベース内の異なるプロシージャおよびテーブルへのアクセスを提供します。
私は、データベースリンクを介してこれらのプロシージャとテーブルを使用する別のOracleデータベース(バージョン10g)を持っています。
データベースをバージョン12gにアップグレードしましたが、明らかにバージョン8と12gの間のデータベースリンクを使用して互換性の問題があります。 Oracleバージョン10gを使用して3番目のデータベースを作成し、それを「プロキシ」として8〜12gの間に配置する予定です。
v12gからv10g、v10gからv8へのデータベースリンクを作成しました。 v8データベースの表およびプロシージャーのための "proxy"(v10g)データベースに同義語を作成しました。 私はV12Gからの標準SELECT句作ることができます。2つのデータ・バスリンクを介してPL/SQL APIを使用
select column from [email protected];
しかし、無名ブロックの中にそれを置くことを:
declare
sVar varchar2(200);
begin
select column into sVar from [email protected];
dbms_output.put_line(sVar);
end;
はエラーを与えない:「PL/SQL:ORA-00980を:シノニム変換はもはやあり有効 "である。 v10g経由でv8プロシージャとテーブルにアクセスする方法はありますか?つまり、2つのデータバスリンクを経由することですか?
そして、あなたがv8データベースをこのミレニアムのバージョンにアップグレードできないのはなぜですか? – APC
それは別の会社に属しています:) – Tanel
もう1つの解決方法は、現在のデータの必要性に応じて、10gデータベースにマテリアライズドビューを作成して、そのデータベースから定期的にdbリンクを介してデータを取得し、 。 –