imp后存储过程编译有错误

[复制链接]
查看11 | 回复9 | 2011-9-5 15:46:51 | 显示全部楼层 |阅读模式
现象:
通过exp导出用户,然后再通过imp导入,存储过程有的 编译成功,有的编译时报告有错误。
存储和过程被wrapped,没法修改。
问题:
请问有的编译没问题,有的编译确有错误,这是什么原因引起的啊。

其他信息:
从本地库exp再imp,存储过程不会出现编译错误,所有的都可成功编译;
但从远程服务器exp,再imp到本地库,就会出现有错误的存储过程。

请哪位达人帮助解答一下,多谢了!
[ 本帖最后由 cumtb630 于 2011-6-10 16:25 编辑 ]
回复

使用道具 举报

千问 | 2011-9-5 15:46:51 | 显示全部楼层
能贴出具体存储过程吗里面是否含有调用DBMS包的部分?
回复

使用道具 举报

千问 | 2011-9-5 15:46:51 | 显示全部楼层
库是比较早的库了,存储过程被加密过,看不到源代码

/* Source is wrapped */
回复

使用道具 举报

千问 | 2011-9-5 15:46:51 | 显示全部楼层
编译时报什么错?
回复

使用道具 举报

千问 | 2011-9-5 15:46:51 | 显示全部楼层
我是在plsql中选中存储过程,点击右键,然后选择重新编译,弹出对话框
***已被编译但有错误
回复

使用道具 举报

千问 | 2011-9-5 15:46:51 | 显示全部楼层
给你点建议
我之前也遇到和你一样的问题,后来发现我的存储过程中调用了DBMS_LOCK,我导入的用户没有执行DBMS_LOCK的权限,所有编译报错.不知道你的是不是这个问题.
回复

使用道具 举报

千问 | 2011-9-5 15:46:51 | 显示全部楼层
我试试看,多谢了!
回复

使用道具 举报

千问 | 2011-9-5 15:46:51 | 显示全部楼层
失败了;
操作过程如下:
1.删除 testuser;
2.创建testuser 赋予dba权限;
3.执行了 grant execute on dbms_lock to testuser;
4.执行imp

结果还是一样
总共有9个package,2个编译没问题,7个编译有错误。
回复

使用道具 举报

千问 | 2011-9-5 15:46:51 | 显示全部楼层
我是举了我的例子, 你的存储过程不一定是调用的DBMS_LOCK,所以你最好搞清楚存储过程的内容.
回复

使用道具 举报

千问 | 2011-9-5 15:46:51 | 显示全部楼层
:) 明白,不过存储过程被wrapped,原开发者又找不到,看不到源码,如果能看到也就自己动手改了。
头疼啊...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行