1

我在我的 database1 编辑器中输入了以下包含 database2 信息的数据库链接。

CREATE DATABASE LINK abc
CONNECT TO schema2 IDENTIFIED BY schema2passwd
USING 'database2';

然后我尝试访问一个 database2 表。

select * from products@abc;

我收到一个错误TNS:could not resolve the connect identifier specified

这两个服务名称都在 tnsnames.ora 中。

这就是我的 sqlnet.ora 的样子

 SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, LDAP)

对数据库链接不是很熟悉,如果我没有意义,请道歉。

4

1 回答 1

3

TNS 别名database2需要在源数据库的 tnsnames.ora 文件中(假设源数据库使用本地命名)。当您谈论“tnsnames.ora”中存在的两个服务名称时,我打赌您正在谈论您客户的 tnsnames.ora 文件。数据库链接是一个数据库对象——它只存在于数据库服务器上,因此它无法访问在您的客户端计算机上创建的配置文件。

于 2013-10-14T18:34:31.770 回答