微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

这两天一直在做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服务器建导入包。不然手工执行包能够成功,但不能执行作业。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐