impdp导入XMLTYPE字段类型的数据出现乱码的问题


        今天一个客户打电话说,他们的数据库很多表存在XMLTYPE的字段,在做数据迁移的时候,使用expdp将数据导出,之后导入另一个数据库即出现乱码,使用了包括修改NLS_LANG等很多方法还是乱码。即使在单机环境下做测试,从本地导出再倒入本地也是乱码。

一.数据测试。
        接到这个问题之后,我也在本机做了测试,创建表的代码如下:
CREATE TABLE TEST.T_XML 
XML_TEST XMLTYPE 
XMLTYPE XML_TEST STORE AS BINARY XML; 
        通过PL/SQL工具向这个表中加载一个包含中文的标准XML文件。
        使用exp导出报不支持该类型,使用expdp顺利导出,对现有的表进行重命名,之后再次导入,查看该字段数据即是乱码。

二.问题解决。
        google搜索了一些资料,发现是由expdp参数问题导致的,执行以下的命令导出数据库数据:
C:\Users\LIUBINGLIN>expdp 's/s as sysdba' directory=dump_dir dumpfile=test2.dmp
schemas=test    DATA_OPTIONS=XML_CLOBS
导出的时候增加红色加粗的参数。
执行以下的命令导入数据:
C:\Users\LIUBINGLIN>impdp 's/s as sysdba' directory=dump_dir dumpfile=test2.dmp
schemas=test

导入之后数据再没有乱码。

执行expdp help=y查看DATA_OPTIONS选项值。
DATA_OPTIONS
数据层选项标记。
有效的关键字值为: XML_CLOBS。

参考资料: http://www.qnr.cn/pc/ora/study/201204/762690_3.html

--end--


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23135684/viewspace-735906/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23135684/viewspace-735906/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值