oracle存储过程输出乱码,expdp/impdp导致存储过程中的中文部分出现乱码

接到客户反馈的问题,

Linux下Oracle11gRAC(64位)环境下expdp导出产生dmp文件,由Windows平台Oracle10.2.0.4(64位)的impdp导入到Oracle10.2.0.4数据库.

导入之后发现,部分存储过程编译不通过.

查看其原因,是个别存储过程中的中文部分出现乱码.

例如:

ps_Message :='取得商品的上次批发数量和批发价';

变成了:

ps_Message :='取得商返纳洗闻?⑹?亢团?⒓?apos;;

ps_Message:=substr('配送验收调整可配送余额意外出错:'||vs_Message,1,2000);

变成了:

ps_Message:=substr('渌脱槭盏髡?膳渌陀喽钜馔獬龃恚?apos;||vs_Message,1,2000);

ps_Message:='转移不完整的流水失败!';

变成了:

ps_Message:='转移不完整的流水О埽?apos;;

--生成要货单主表

select count(*), nvl(sum(yhCount), 0)

变成了:

--生梢?醯ブ鞅?     select count(*), nvl(sum(yhCount), 0)

即从某个汉字开始起,缺少了汉字的高字节.

难道expdp/impdp对oracle数据字典表的内容(dba_source的text列,对应底层:sys.source$.source列varchar2(4000) ) 能产生差异?

目前是通过从正式环境获取正确的存储过程脚本,重新执行解决了本问题.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值