关于SQLserver2000移植到oracle9i的实践(原)

本文分享了将SQL Server 2000数据迁移到Oracle 9i的过程及遇到的问题,包括表名长度限制、字段类型不兼容等,并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天一直在做SQLserver2000移植到oracle9i的数据导入,发现了一些问题,现在总结一下:

导入环境:第三方服务器上(windows2003)

导入方法:sqlser DTS工具

导入步骤:1、安装oracle10g客户端软,配置要导入的数据库服务实例(比如实例名为:testDB),安装完之后最好重启一下机子,保证数据库驱动程序生效(笔者就遇到过装好数据库却怎么也用不了oralce驱动程序的问题,最后没有办法应用了网管的杀手锏:重启机器搞定)

2、建oracle的DNS数据库驱动文件(oracle的客户安装好之的,相应oracle版本的驱动也安装上了)

3、对应好sqlserver与oracle要导入的相应的表即可

注意事项:我在导入的过程中出现下列问题

1、一形如第三方服务上的装的是oracle9i,在地导入表名较短不会有问题,但是导入表名长点表时,就会报“ORA-01740 missing double quote in identifier ”的错误,这是因为oralce9i的驱动程序只支持表名的长度是11个字符以下,超过就会报错,装上oracle10g就不会出现这个问题。

2、在用oracle9i的驱动时,如果表名长度小于11字符时,又出现了“ 系统严重错误exception_access_violation”最后sqlserver死掉,因为sqlserver里的一表的字段类型不能导入oracle,笔者是遇到sqlserver里的money字段导入出错,这也是oralce版本的问题,装上oracle10g就不会出现这个问题。

3、sqlser在导入oracle表时,新建的表的名字和字段都加上"双引号,导入可以先把创建脚本拷贝出来,手工在oracle里先上建些表再导入,不然带双引号建上的表,查询时必需加上引号,不然会报错,说表不存在。

4、如果要建作业定时导入时,注意要在要执行作业的机子上建导入包,因为作业执行要用的是本地服务器上oralce驱动程序文件,比如要第三方服务器执行作业就把导入包建在这台服务器上。如果要在要导入的sqlserver服务器上执行作业,就应该去要导入的sqlserver服务器建导入包。不然手工执行包能够成功,但不能执行作业。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值