免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3377 | 回复: 4
打印 上一主题 下一主题

ids7.3和ids10.0的procedure问题, 够诡异. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-18 12:48 |只看该作者 |倒序浏览
ids7.3是在SCO5.05上的
ids10.0在redhat linux AS4

从ids7.3的库dbexport出来后,到ids10.0 dbimport
发现原来的procedure好多都建不了.

例如:
create procedure concat(s1 varchar(255), s2 varchar(255))
returning varchar(255);
        return to_string(substr(s1,1,length(s1)))||
                         to_string(substr(s2,1,length(s2)));
end procedure;

提示:
   673: Another routine (concat) with same signature already exists in databas

但执行:
drop procedure concat;

却提示:
   674: Routine (concat) can not be resolved.
   111: ISAM error:  no record found.

如果把procedure名concat改成concat1,又可以建!

以为是系统保留字的问题.
但类似:
  p_get_ensure_items这样的名也出现上面的错误..
改成p_get_ensure_items1又可以了...

好奇怪.
有人碰到过类似的问题吗?

论坛徽章:
0
2 [报告]
发表于 2005-10-18 13:58 |只看该作者

ids7.3和ids10.0的procedure问题, 够诡异.

你贴出来的create跟你导出来的文件完全一致?

论坛徽章:
0
3 [报告]
发表于 2005-10-18 18:03 |只看该作者

ids7.3和ids10.0的procedure问题, 够诡异.

应该是:
create procedure "account01".concat(s1 varchar(255), s2 varchar(255))
returning varchar(255);
        return to_string(substr(s1,1,length(s1)))||
                         to_string(substr(s2,1,length(s2)));
end procedure;

不成功后单独用dbaccess来执行时把用户名去掉了,还是不成功.

论坛徽章:
0
4 [报告]
发表于 2005-10-20 11:05 |只看该作者

ids7.3和ids10.0的procedure问题, 够诡异.

做个假0级备份后再drop一下看看。

论坛徽章:
0
5 [报告]
发表于 2009-07-21 11:24 |只看该作者

老兄解决了吗?

我也是遇到这个问题,困扰了一天多,终于有答案了,原来是低版本的informix没concat这些函数,而高版本的se中已经由系统提供了这些函数,所以才导致创建失败。删除这些函数的定义吧,祝你好运
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP