今天在用Kettle做数据迁移的时候遇到一个问题,通过Kettle把从SQL Server的源数据导入到Oracle数据库中出现很多问题,也就是因为表信息不一致造成数据无法导入。源数据库SQL Server因为表比较复杂,就直接从SQL Server Mangement Studio手动方式导出建表的SQL语句,具体过程是:选择需要查看的表->右键“编写表脚本为”->CREATE到->文件,这个时候会弹出一个目录保存建表语句内容。目的数据库中需要创建一份一致的表结构,方便从源数据库中加载数据过来。
我们都知道虽然SQL Server和Oracle都支持标准的SQL语句,但是每家厂商的支持方式是有差异的,并不完全一直,而且两家厂商的SQL语句是不可以共用的,这个时候如果要完成数据表的迁移就需要修改建表语句,以支持Kettle可以无障碍迁移数据,特别是两者的数据类型差异还是很大的,所以笔者基于此整理了一份两者差异对比表,供读者查询使用。
项目使用的MSSQL的sql文件和最终转成ORACLE的sql文件,可以通过Github访问,访问地址如下:
Github代码访问
声明:本文数据类型比对表非笔者原创,主要引用自笨笨鱼~的博客文章Oracle和sqlserver数据类型对应
参考文献
Oracle和sqlserver数据类型对应
如果觉得《工具:SQL Server和Oracle数据类型比对》对你有帮助,请点赞、收藏,并留下你的观点哦!