Sybase迁移到达梦数据库,注意几点

测试环境

操作系统:Windows Server 2003 Standard Edition Service Pack 2
Sybase:12.5.1 Windows 32位版
达梦数据库:DM7 Windows 32位版

1 在迁移过程中,使用DTS无法连接到Sybase数据库或者连接到数据库但是无法获取到表?

解决方法:

1 DTS工具上指定“驱动路径” (参考:C:\sybase\jConnect-5_5\classes\jconn2.jar);

2 “自动获取”驱动类名 (参考:com.sybase.jdbc2.jdbc.SybDataSource);

3 使用默认URL,或填好及选好字符集(URL 格式参考: jdbc:sybase:Tds:IP:端口号/数据库名?charset=cp936)。
在这里插入图片描述

2 迁移遇到中文全部是乱码?

解决办法:
数据迁移时,界面选择或url中指定字符集(Sybase数据库的字符集是iso_1,并且是生产库不能修改),这里指定字符集用cp936可以和iso_1兼容。

3 原库和目标库的字符集不一致,导致迁移时报字符串截取错误?

问题出现原因举例:
原库字符集是gbk的话,一个汉字占两个字节,目的库字符集是utf-8,一个汉字占三个字节,那么原有列col1 varchar2(10),存放字符串“这是个例子”,是可以放下的,但是到目的库,就只能存放“这是个”,后面的“例子”就放不进去;“这是个例子”在utf-8下占15个字节,需要定义列为col1 varchar2(15)。

解决办法:
迁移时如果不能顺利的扩展varchar类型的长度,可以采用的方法是建2个库,第一个库把表结构先迁移过来,第二个库从第一个库的基础上迁移,采用DM7->DM7的方式,此时选择varchar类型映射成2倍。

4 迁移包含自增列的表,报无法启用identity列?

解决办法:
将“启用标志列选项”去掉。

5 在迁移含有大字段的多张表时,迁移出错,造成迁移卡死的现象?

解决办法:根据数据量一次少迁移几张表。

DTS工具将Sybase数据迁移到DM7中,在迁移时考虑如下要点:

1 迁移手动指定jdbc驱动

2 字符集的兼容性

3 大数据量时要分批迁移

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值