场景:公司平台用的是oracle数据库,目前需要支持sqlserver数据库,所以需要从oracle数据库恢复出一个sqlserver数据库,版本

要求是2012的版本。


注解:2008版本之后sqlserver里面多出了一个精度更高的时间类型datetime2,此格式java读出来之后是string类型(这是我在调试

的时候看到的,有可能是我司平台的问题也有可能就是如此,此点请大家自行测试)而我司平台要求时间字段用java读出来之后是date

类型,所以这就要求我使用datetime类型,而不能使用datetime2类型。因为datetime类型通过我司平台读出来之后是date类型,即满

足我需求。(这是后续步骤中奖datetime2转为datetime的原因



步骤一:库的建立过程

1.通过oracle数据库导出pdm。

2.将pdm转换为sqlserver版本。

3.通过sqlserver版本pdm导出sql脚本。这个过程中导出的时间字段oracle的date对应于sqlserver的datetime。

4.通过sql脚本在sqlserver上恢复出sqlserver数据库库(假设库名为pure)。

步骤二:oracle数据同步到sqlserver2012的过程

1.通过工具Navicat Premium(可以同时连接多个不同类型的数据库进行数据传输)连接

oracle库来自动创建一个对应的sqlserver库。这个过程中oracle库中的DATE类型会转换为

sqlserver的datetime2类型而不是datetime类型。这两个类型是有区别的,在通过java查

出来之后datetime2变成了string类型,而datetime是date类型。为了解决这个问题有了下面

的第二步。(假设这个过程创建的库名为pure002)

2.通过工具Navicat Premium中的数据传输选择传输成文件将数据转换为sql文件。

3.替换sql文件中的时间字段后面多出的.0000000为‘’。(注释:datetime2导出为sql后时间格式

后面会多.0000000)

4.将脚本数据导出到pure即可。


步骤三:视图的传输

1.通过以下语句从oracle库中导出所有视图的视图名和视图脚本

select view_name,text from dba_views where owner = 'owner';

2.通过替换或程序的方式拼接处sqlserver的视图创建语句。



浏览 628 评论 0 赞 0 砸 0 标签: oracle sqlserver
评论
还可以再输入500个字

请您注意

·自觉遵守:爱国、守法、自律、真实、文明的原则
·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规
·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·您在NoteShare上发表的作品,NoteShare有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款