我创建了一个dblink去调用另外一个数据库如下:
create public database link LINKA
connect to aaa identified by aaa123
using '(DESCRIPTION =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 100.223.21.2)
(PORT = 1341)
)
)
(CONNECT_DATA =
(SERVICE_NAME = bbb)
)';
aaa和aaa123是我登陆数据库bbb的用户名和密码
现在的问题是dblink创建好了,在pl/sql的DataLink links下面也可以看到
不过当我调用Select * From aaa.test@LINKA的时候显示错误
ORA-12154 could not resolve the connect identifier specified
哪位大哥 帮忙看看啊
create public database link LINKA
connect to aaa identified by aaa123
using '(DESCRIPTION =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 100.223.21.2)
(PORT = 1341)
)
)
(CONNECT_DATA =
(SERVICE_NAME = bbb)
)';
aaa和aaa123是我登陆数据库bbb的用户名和密码
现在的问题是dblink创建好了,在pl/sql的DataLink links下面也可以看到
不过当我调用Select * From aaa.test@LINKA的时候显示错误
ORA-12154 could not resolve the connect identifier specified
哪位大哥 帮忙看看啊
connect to fzept identified by neu
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = fjept)
)
)';
host=数据库的ip地址,service_name=数据库的ssid。LZ的配置里有两个
(DESCRIPTION =
(DESCRIPTION =
原因好像是同一个oracle数据库的两个数据库用户互相访问对方的表的时候好像不能用dblink的方式,直接用"用户名.表名"就可以了。
一个数据库,两个不同的模式[schema]。
同一个实例的两个用户之间是可以通过 dblink互相访问的,方法如下:查询一下你的数据库的global_nameselect * from global_name;--假设结果是 ABC
创建dblinkcreate public database link ABC@XXXXXX
connect to user_name identified by password
using 'ABC';
说明一下,建dblink会和系统参数global_names的只有些关系,不过用上面的方法去做的话,就不用考虑它的值了,true或者false都好用。
[SYS@ora10gr1#2009-11-17/08:26:23] SQL>select * from global_name;GLOBAL_NAME
--------------------------------------------------------------------------------
ORA10GR1[SYS@ora10gr1#2009-11-17/08:26:27] SQL>create public database link
2 ora10gr1@public_test01 connect to test01 identified by test01 using 'ora10gr1';Database link created.[SYS@ora10gr1#2009-11-17/08:26:37] SQL>conn test/test
Connected.Session altered.[TEST@ora10gr1#2009-11-17/08:26:44] SQL>select * from test@ora10gr1@public_test01; ID
----------
10
1
[code=SQL]create public database link LINKA
connect to aaa identified by aaa123
using '服务名'code]就可以了
''里面填上当前连接库的主机字符串即可
如果还不行,试试用aaa用户登录是否正常