0

最初に両方のデータベースの名前を sol1(remote) と sol3(local) に変更してから、db リンクを作成するために、db リンクを使用しようとしています。

sol3 で

CREATE DATABASE LINK SOL1.SWORLD
CONNECT TO TEST IDENTIFIED BY TEST USING SOL1;

LINK CREATED
ON SQL /> SELECT *  FROM CAT@SOL1.WORLD

メッセージ:

SQL はサービス名を解決できませんでした

次に、データベース リンクをドロップし、Oracle エンタープライズ スキーマ マネージャーからリンクを作成します。固定ユーザーのパブリック リンクを作成します。ログインとパスワードの後、サービスタブに名前を追加しますsol1

接続をテストするとメッセージが表示されます

リンクがアクティブではありません

4

2 に答える 2

2

これがあなたの問題の原因だと思います:

SQLはサービス名を解決できませんでした

これは、SOL1がtnsnames.oraにないか、エントリが無効であるか、ネットワーク接続の問題により、Oracleがサービス名をアドレスに変換できないことを示しています。

于 2010-03-09T04:57:31.807 に答える
0

tnsnames ファイルにエントリがあることを確認してください。

NAME (DESCRIPTION (ADDRESS_LIST (ADDRESS = (PROTOCOL = TCP 
)(HOST = host)(PORT = 1521)) 
) 
(CONNECT_DATA (SERVICE_NAME = NAME) 
) 
) 

どちらの方向にもリンクを作成できるようになりました。

create public database link "link name" 
connect to schemaname 
identified by " " 
using 'servicename(from tnsnames entry) 
; 

あなたのリンクは非公開にすることもできます。

于 2015-10-08T07:17:03.187 に答える