欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle dblink 表或视图不存在解决办法

更新时间: 2014-01-05 02:11:23 责任编辑: Author_N1

 

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的用户权限


比如select * from lee.XX@dblk_a
或者
你创建DBLINK的用户为XIA  那么查看此表用户是否GRANT SELECT ON XX  TO XIA

再者查看错误如果远程表包含BLOB字段的话 那么也会抱错 
--参考方法--
你触发器的用户是哪个。。。也要授权
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:11:23
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6768/
本文WWW.DOC100.NET DOC100.NET版权所有。