oracle11g导9i后的问题

本文详细介绍了在数据导入过程中遇到的三个关键问题:强制表空间以避免空表导入失败,修改Merge SQL语句以适应不同Oracle版本,以及解决CLOB字段数据长度限制引发的错误。同时,讨论了数据导入后可能导致主键冲突的原因及解决方案。
导进去的时候除了些莫名其妙的问题,有三个是必须处理的问题,一个是要强制表空间,不然没数据的表导不进去,第二是若程序里有Megre的sql语句的话,要检查有
没有where 如 Megre into A using b on (XXX) when matched then update A set XXX where XXX when not matched then insert into A values(XXXX) 这里的update语句有
where,在9i运行会报missing key word 的错,11g是可以的,解决的办法就是把where的条件放on 后面。当时遇到错的时候,用navicat把句子放到存储过程里面编译下,可以看到光标停留在where那里,这样查错也算奇葩了,还有一个是数据类型的问题,如有一个字段类型是clob,导进9i时会报太长的错,因为查询时的长度是不能超过4000Byte的,但存是没问题,以前dump是可以的,但变成用语句insert into是不可以的。说起导数据最后还有个问题,就是导的时候数据和序列是分开导,好像序列还是先导的,导完后很容易造成主键冲突,因为导的时候服务器在工作,导致表最大的id比序列的下个值大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值