oracle数据库编码不同而出现的奇怪问题

前端之家收集整理的这篇文章主要介绍了oracle数据库编码不同而出现的奇怪问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


非生产采购是通过dblink到非生产认证数据库取数据,其中只有一个字段存的是中文,字段是“供应商资源分析”,字段类型varchar2(100),非生产认证数据库编码是GBK的,非生产采购数据库编码是utf8的,“供应商资源分析”这个字段的值在非生产认证数据库占大概74字节,在非生产采购数据库大概占140多字节(在GBK数据库一个汉字占2字节,在utf8数据库占3到4字节,英文和数字都占相同字节),非生产采购通过dblink到非生产认证数据库取数据,“供应商资源分析”这个字段长度为100,非生产采购那边可能只会开辟100字节的内存空间,但是这个字段的内容同步到非生产采购数据库变成140多字节(由于编码不同),开辟的内存空间不足以存储读取的数据,结果报错“提取的列值被截断”

在不改变数据库编码的情况下的解决办法是将gbk库的字段长度加长。

原文链接:https://www.f2er.com/oracle/213724.html

猜你在找的Oracle相关文章