将SQLServer表直接导入Oracle数据库

前言

将SQLServer数据库中的表和数据全量导入到Oracle数据库,通过SMSS工具,直接导入到oracle数据库,免去了生成脚本的步骤。本教程以图文的方式,方便没用过的SqlServer的朋友,也可以完成跨库导出数据。

 

教程开始

1. 找到需要导出的SQLServer数据库,选择任务,再选择导出数据。

将SQLServer表直接导入Oracle数据库

2. 选择源库

将SQLServer表直接导入Oracle数据库

3.选择目标库:要导入Oracle数据库,就选择Oracle Provider for OLE DB,然后再点击属性,在属性中设置Oracle数据库的用户名密码。

将SQLServer表直接导入Oracle数据库

输入要导入Oracle的数据库的用户名和密码,测试连接成功

将SQLServer表直接导入Oracle数据库

4. 选择复制一个或多个表选项

将SQLServer表直接导入Oracle数据库

5. 选择要导入表,这里只选择一个表作为示例,可以勾选多个表一起导出。

点击编辑映射,设置字段数据类型映射,它们之间的数据类型略有不同,也就成了导出时候最容易出错的地方。

将SQLServer表直接导入Oracle数据库

将SQLServer表直接导入Oracle数据库

如果新手不知道哪个字段需要转换,可以先执行下一步,最后导出失败会有报错信息。再根据错误信息列名,进行调整。
例如:把Datetime 转为Date,char转为varchar2,根据表实际的数据多调整试试。 

6. 查看数据类型映射,有叹号的地方,就是应该转换的地方,往往失败就在此处,可以双击查看具体的转换信息。此处不用设置,保留默认下一步即可。

将SQLServer表直接导入Oracle数据库

7. 继续执行下一步

将SQLServer表直接导入Oracle数据库

8. 点击完成,执行完后发现报错信息。接下来讲讲如何改错。

将SQLServer表直接导入Oracle数据库

9. 点击打开报错信息,发现里面有些字段提示转换失败,记住出错的字段,然后点上一步一直返回到“编辑映射"页面,重新调整出错的字段。

将SQLServer表直接导入Oracle数据库

10. 找到出错的字段,将char字段类型转为Varchar2即可。其他字段同理,找出转换出错的字段,修正即可。

将SQLServer表直接导入Oracle数据库

将SQLServer表直接导入Oracle数据库

11. 再次点击完成尝试,发现导出全部成功,并导出了“10条数据“。

将SQLServer表直接导入Oracle数据库

12. 连接到Oracle数据库,查看下刚导入的表,发现表和数据全部成功导入

将SQLServer表直接导入Oracle数据库