楼主: mylongair

[讨论] 为什么DBLINK存储不能运行,提醒错误,帮忙看下

[复制链接]
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
11#
发表于 2017-1-6 11:40 | 只看该作者
这确实比较奇怪。

这样可以看到吗?
DESC CH_INSERT@c_chdb;

具体的出错信息是怎么样的?

使用道具 举报

回复
论坛徽章:
2
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52优秀写手
日期:2013-12-18 09:29:10
12#
 楼主| 发表于 2017-1-6 15:50 | 只看该作者
newkid 发表于 2017-1-6 11:40
这确实比较奇怪。

这样可以看到吗?

SQL> DESC CH_INSERT@c_chdb;
Object CH_INSERT@c_chdb does not exist.

提示这个,也是找不到,好奇怪

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
13#
发表于 2017-1-6 22:40 | 只看该作者
难道是名字后面带有空格?这样能找到吗:

select *  from USER_objects@c_chdb where object_name='CH_INSERT' ;

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
14#
发表于 2017-1-6 22:42 | 只看该作者
难道是名字后面带有空格?这样能找到吗:

select *  from USER_objects@c_chdb where object_name='CH_INSERT' ;

使用道具 举报

回复
论坛徽章:
2
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52优秀写手
日期:2013-12-18 09:29:10
15#
 楼主| 发表于 2017-1-9 10:30 | 只看该作者
newkid 发表于 2017-1-6 22:42
难道是名字后面带有空格?这样能找到吗:

select *  from USER_objects@c_chdb where object_name='CH_I ...

这样可以找到,空格?你的条件里不是没有空格吗

select *  from USER_objects@c_chdb where object_name='CH_INSERT ' ; 加个空格就找不到了

使用道具 举报

回复
论坛徽章:
2
ITPUB15周年纪念
日期:2017-03-16 09:14:40娜美
日期:2017-11-20 17:24:55
16#
发表于 2017-1-9 14:40 | 只看该作者
試試這個call CH_INSERT()@c_chdb;

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
17#
发表于 2017-1-9 23:15 | 只看该作者
煩人的小逗 发表于 2017-1-9 14:40
試試這個call CH_INSERT()@c_chdb;

加上括号语法就错了。
楼主再查看一下有没有同义词。或者在远程库DROP 了重建,或者把过程改名,再看看能否调用。

使用道具 举报

回复
论坛徽章:
2
ITPUB15周年纪念
日期:2017-03-16 09:14:40娜美
日期:2017-11-20 17:24:55
18#
发表于 2017-1-10 16:42 | 只看该作者
newkid 发表于 2017-1-9 23:15
加上括号语法就错了。
楼主再查看一下有没有同义词。或者在远程库DROP 了重建,或者把过程改名,再看看 ...

應該不是,應該是用call調用和exec調用的區別

SQL> create or replace procedure test is     

2  begin --执行部分   
3        insert into mytest values('王', 'aa');     

4  end;     

5  /      
Procedure created  

     
SQL> exec test;      
PL/SQL procedure successfully completed  

     
SQL> call test;      

call test
ORA-06576: 不是有效的函数或过程名      
SQL> call test();      
Method called

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
19#
发表于 2017-1-11 08:45 | 只看该作者
还真是!我自己平时都用EXEC, 确实没注意到这个差别。如果加括号要加在最后。

call CH_INSERT@c_chdb();

或:
EXEC CH_INSERT@c_chdb;

使用道具 举报

回复
论坛徽章:
2
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52优秀写手
日期:2013-12-18 09:29:10
20#
 楼主| 发表于 2017-1-13 09:15 | 只看该作者
本帖最后由 mylongair 于 2017-1-13 09:16 编辑
newkid 发表于 2017-1-11 08:45
还真是!我自己平时都用EXEC, 确实没注意到这个差别。如果加括号要加在最后。

call CH_INSERT@c_chdb(); ...

这两个试了下,报下面这种错误:

ORA-04052: 在查找远程对象 CH_DB.CH_INSERT@C_CHDB 时出错
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-06544: PL/SQL: 内部错误, 参数: [55916], [], [], [], [], [], [], []
ORA-06553: PLS-801: 内部错误 [55916]
ORA-02063: 紧接着 2 lines (起自 C_CHDB)

我搜了下,说是11 DBLINK 到10 会出现这种问题,需要打补丁。
有碰到过这种吗,有没具体补丁包的下载地址或者名称,怕下错了补丁。谢谢

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表