注册
关于用oracle数据迁移到达梦库varchar字符集所遇到的问题和解决方式
培训园地/ 文章详情 /

关于用oracle数据迁移到达梦库varchar字符集所遇到的问题和解决方式

降温. 2023/05/19 1948 0 0

问题:oracle中的字段内容迁移到达梦数据库后内容被截断了?
原因DM初始化时字符集的设置问题
1.UNICODE=0 LENGTH_IN_CHAR=0
GBK 以字节为单位时
一个英文对应一个字节 一个汉字对应两个字节
2.UNICODE=0 LENGTH_IN_CHAR=1
GBK 以字符为单位时
一个字符对应两个字节 一个数字字母占用一个字节
一个汉字对应一个字符即两个字节
3.UNICODE=1 LENGTH_IN_CHAR=0
UTF8 字节为单位
一个数字字母或占用一个字节 一个汉字占用三个字节
3.UNICODE=1 LENGTH_IN_CHAR=1
UTF8 字节为单位
一个数字字母或占用一个字符 一个汉字占用三个字节,一个字符对应四个字节 varchar长度为3时 最多可以录四个汉字

查询DM采用的字符集
select UNICODE();
查询DM是以字节或者字符作为单位
SELECT sf_get_length_in_char() 0是字节 1是字符
这个参数是dm实例化的时候就设置好的,所以实例化时需要根据业务来进行case by case
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服