oracle 导出写入文件失败怎么办,编辑dmp文件解决导入导出问题(oracle 922错误 ,缺少或无效选项)...

导入导出的dmp文件时出现如下错误

经由常规路径导出由EXPORT:V09.02.00创建的文件

已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入

IMP-00017: 由于 ORACLE 的 922 错误,以下的语句失败

"CREATE TABLE "SW_DQBM" ("DQID" VARCHAR2(6) NOT NULL ENABLE, "DQMC"

VARCHAR2"

"(24) NOT NULL ENABLE, "LYID" VARCHAR2(1), "KJID" VARCHAR2(6), "RK"

VARCHAR2"

"(16), "TD" VARCHAR2(16), "GD" VARCHAR2(16), "ZWCL" VARCHAR2(16),

"ZWMJ" VAR"

"CHAR2(16), "XMY" VARCHAR2(16), "GMJJ" VARCHAR2(16)) PCTFREE 10

PCTUSED 40 "

"INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST

GROUPS 1"

") TABLESPACE "TAHE03" LOGGING NOCOMPRESS"

IMP-00003: 遇到 ORACLE 错误 922

ORA-00922: 缺少或无效选项

IMP-00017: 由于 ORACLE 的 922 错误,以下的语句失败

再次用indexfile参数导入文件得到对象创建语句,贴到sqlplus中执行发现是nocompress这

个参数的问题,根源是版本问题,导出数据服务器和客户端的版本都是92,导入数据服务器

和客户端的版本都是90,不过已经不可能再用90的客户端去导数据了。所以只能用这个dmp

文件。

开始想到的是修改indexfile选项导出的sql文件,创建表结构,可以完成。

但是再次导入dmp文件发现还是无法继续进行。

这样只能更改dmp文件了,用ultraedit32打开dmp文件,定位nocompress字符,把这些字符

全部改成空格,空格的ascii码是32,16进制就是20,也就是把nocompress所包含的字符全

部改成20即可。

重新导入dmp文件,成功。

不过编辑dmp文件始终是件危险的事情,不知道有没有方法可以在创建表结构以后跳过这些

表结构定义语句,而直接导入数据的方法?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值