加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 14:10:39 所属栏目:MsSql教程 来源:网络整理
导读:这两天一直在做SQLserver2000移植到oracle9i的数据导入,发现了一些问题,现在总结一下: 导入环境:第三方服务器上(windows2003) 导入方法:sqlser DTS工具 导入步骤:1、安装oracle10g客户端软,配置要导入的数据库服务实例(比如实例名为:testDB),安

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读