前言:

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

教程开始:

1.在开始菜单中打开Microsoft SqlServer Management Studio,找到需要导出的SQLServer数据库,选择任务,再选择导出数据。

2.打开导出数据工具:

3.选择数据源:即选择从哪个数据库导出数据,如果是本机,服务器名称就填:localhost

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

5.输入要导入Oracle的数据库的用户名和密码,测试连接成功,然后勾选允许保存密码的复选框,否则关闭窗口,密码可能会丢失,又要重新输入增加麻烦。

6.选择复制一个或多个表选项:

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

重点开始:点击编辑映射,这里设置SqlServer字段数据类型与Oracle数据类型的映射,因为它们之间的数据类型略有不同,也就成了导出时候最容易出错的地方。

8.两个数据库之间的字段数据类型转换:

如果新手不知道,哪个字段需要转换,可以先执行下一步,最后导出失败会有报错信息。再根据错误信息列名,进行调整。
例如:把Datetime 转为Date,char 转为varchar2,根据表实际的数据多调整下试试。
难点:这也是不同数据库导入数据最容易出错的地方,因为Oracle和SqlServer的数据类型略有不同,需要手动匹配调整。 

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

10.继续执行下一步:

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

12.点击打开报错信息,发现里面有些字段提示转换失败,然后记住出错的字段,最好截个图,然后返回上一步。

13.点击上一步,一直返回到“编辑映射"页面,重新调整出错的字段。

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

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

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