最近一个项目需要从sqlserver2000把数据迁移到达梦数据库,使用目前dm8版本没有找到sqlserver2000jdbc驱动包,
使用dts直接sqlserver2000迁移会报错驱动程序不支持sqlserver8版。
使用dts迁移sqlserver2000,使用自定义驱动,使用sqlserver2008_3.0.jar包自定义连接,可以连接上,但是会自动断开连接,如下图:
后面使用一种间接方式迁移到达梦,先从sqlserver2000把数据迁移到sqlserver2008数据库,在从sqlserver2008迁移到达梦数据库,希望可以帮助大家。
1.先把sqlserver2000迁移到sqlserver2008,迁移如下:
1.1 先登录sqlserver2000的企业管理器,选择要迁移的数据库,如下图:
1.2 选择要迁移的数据库右键,所有任务,导出数据
1.3 点击导出数据,选择下一步,选择要迁移的库名,点击下一步
1.4 输入目的服务器ip,选择使用sqlserver身份认证,输入sa账号和密码,点击刷新,选择目标库名,点击下一步。
1.5 继续点击下一步
1.6 选择所有的表和视图。
1.7 点击下一步,最后点击完成。
2.使用达梦的dts从sqlserver 2008迁移到达梦
2.1 打开dts工具,新建迁移,输入迁移名称,选择sqlserver到达梦
2.2 输入源数据库ip,密码账号,选择数据库名称,点击下一步
2.3 勾上dbo选择目标模式,可以自己创建好。
2.4 选择要迁移的表,按照自己需求,选择不同操作方式。
2.5 点击下一步,完成
3.sqlserver迁移达梦过程中,有一些报错,比如,无效日期时间类型值.
解决方法:把时间类型列的类型修改成TIMESTAMP WITH TIME ZONE,迁移完成以后,在把数据类型改成datetime。
如果很多表的话,可以执行命令修改。
select 'ALTER TABLE 模式名.'||TABLE_NAME||' MODIFY "'||column_name||'" TIMESTAMP;'
from dba_tab_columns where owner='模式名' AND DATA_TYPE='TIMESTAMP WITH TIME ZONE';
文章
阅读量
获赞