1 背景
ITM系统目前支持MysqL、Oracle数据库,由于现在需要和CA产品进行结合,用CA产品的采集功能进行数据采集,因此需要使用CA产品的sqlServer数据库,为了使得系统支持sqlserver数据库,首先需将Oracle数据库迁移到MysqL中,然后修改系统中dao对应xml配置文件中的sql语句进行调试。下面介绍如何将Oracle数据库迁移到sqlServer
2 步骤
准备工具:Oracle数据库客服端、sqlserver客户端、Powerdesiger工具
2.1 导出Oracle数据库中表的结构
2.2 将第一步的表结构导入Powerdesiger中,产生各种表的关系图
2.3 Powerdesiger 切换当前数据库为sqlServer模式
2.4 导出sqlServer表结构
2.5 将sqlServer表结构导入到sqlserver数据库中
2.6 导出Oracle数据库中的数据
2.7 导入数据到sqlServer对应表中
(1) 数据量不多时 可以采用复制每张表的sql语句插入数据(简单、快捷对于数据量少的情况)
(2)数据量比较大时 可以采用sqlServer管理工具进行数据导入
由于sqlServer文件夹下进行修改即可,启动服务器后,测试系统管理各个sqlServer语法和MysqL语句比较相似,因此复制MySQ文件夹下所有的xml文件到功能模块有没有什么问题,如有异常产生,根据异常信息,找出对应的sql语法错误。
1、MysqL支持contact连接字符串函数,而sqlServer不支持
2、MysqL支持在子查询中使用order by columnname 进行排序,sqlServer不支持,会报错
3、MysqL获取最后一条插入的id的方式是 select last_insert_id() ,sqlServer中用select @@identity as id 语句进行代替