首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle dblink 表或视图不存在,该怎么处理

2012-01-23 
oracledblink 表或视图不存在请教下各位,如下使用dblink的问题,创建dblink是正确的,测试也没问题,只是执行

oracle dblink 表或视图不存在
请教下各位,如下使用dblink的问题,创建dblink是正确的,测试也没问题,
只是执行sql语句放到 oracle的 触发器中就提示 表或视图不存在。


--创建db link链接
-- create database link test connect to"wzx" identified by "123456" using 'orcl'; 
--测试语句如下
select * from test_user@test;
insert into test_user@test(id,name)values(1,'test');
--以上两个语句是正确的。 说明dblink 是成功的。
但是如果我把
-- insert into test_user@test(id,name)values(1,'test'); 放到触发器的 begin … end 中。就提示表或视图不存在。

在创建快照的时候也是如此:
Create snapshot sn_xwmc as select * from xwmc@test;  
提示找不到表或视图。
单独执行 select * from xwmc@test; 是可以执行的。
请问下大家该怎么解决呢?

[解决办法]
权限问题,grant select, insert, update on tabname to username with grant option;
[解决办法]
尝试

create view v_test_user as select * from test_user@test;
insert into v_test (id,name)values(1,'test');
看看是否成功,同时观察报错情况
[解决办法]
这么写是没什么问题的,重新登录再触发触发器试试,再不行就把test_user表的grant语句贴出来
[解决办法]

探讨
查看下是否带有用户(表所有者)或者你DBLINK的用户权限

[解决办法]
你触发器的用户是哪个。。。也要授权

热点排行