我有一个指向远程oracle DB的数据库链接,其创建脚本为
Create Database Link "DB_LINK_NAME"
CONNECT TO "SOURCE_SCHEMA" IDENTIFIED BY VALUES 'XXXXXX' USING 'DB00001';
但我尝试使用
访问数据库链接select * from dual@DB_LINK_NAME
我收到错误ORA-12154: TNS:could not resolve the connect identifier specified
我已成功完成tnsping
到'DB00001'
我在sqldeveloper和Sqlplus
中都尝试过答案 0 :(得分:0)
您需要将详细信息添加到本地 tnsnames.ora
文件。
例如,
DB00001 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL=TCP)(HOST=hostname)(PORT=port))
(CONNECT_DATA =
(SERVER=DEDICATED)
(SERVICE_NAME=service_name)
)
)
原因通常被描述为 -
请求使用与数据库或其他服务的连接 连接标识符,指定的连接标识符不能 使用其中一种命名方法解析为连接描述符 配置。例如,如果使用的连接标识符的类型是a 网络服务名称,然后在a中找不到网络服务名称 命名方法存储库,或者存储库不可能 位于或到达。
答案 1 :(得分:0)
我认为问题出在本地tnsnames.ora上。作为解决方法创建数据库链接如下:
Create Database Link "DB_LINK_NAME"
CONNECT TO "SOURCE_SCHEMA" IDENTIFIED BY VALUES 'XXXXXX' USING '(DESCRIPTION =
(ADDRESS = (PROTOCOL=TCP)(HOST=hostname)(PORT=port))
(CONNECT_DATA =
(SERVER=DEDICATED)
(SERVICE_NAME=service_name)
)
)';

让我知道它是怎么回事。