2019独角兽企业重金招聘Python工程师标准>>>

最近一段时间经常有人问起我db2codepage相关的一个问题:
用户有多个数据库,服务器端数据库代码页CODEPAGE设置的不一样,常见的设置是819,1252,1208,1386等.
客户端连接服务器数据库经常报代码页转换错误 ,大致错误信息格式:     
SQL0332N 不支持从源代码页 "1252" 到目标代码页 "1386" 的字符转换。
SQLSTATE=57017

临时解决方法是:
在客户端,开启DB2命令窗口并执行以下命令后再重新进行连接
db2set db2codepage=1252
db2 terminate
因为目标数据库代码页很多种,这样需要经常设置db2codepage进行切换.
即使这样,如果不是使用命令行处理器,而是使用db2cc的话,中文显示还是不正常。

根本原因分析:
   DB2要求源代码页与目标代码页是彼此兼容的。在上述例子中,源代码页为1252,目标代码页为1386,两者并不兼容才导致了数据库连接失败.
   long term solution:其实最重要的是我们创建数据库选择代码页有问题,如果我们服务器端创建数据库的时候,能设置codepage 为1208的话(UTF-8),就不会出现上述问题了.

转载自:http://ahuango.iteye.com/blog/555065

经常用DB2 CLI 连接数据库时遇到这样的错误,每次都是网上现查,这次决定把查到的方法记在这里。 具体错误是这样的:
SQL0332N 不支持从源代码页 "819" 到目标代码页 "1386" 的字符转换。SQLSTATE=57017

因为要连接的数据库的编码"819"与本地客户端环境使用的编码"1386"不能进行转换,即不能在GBK和ISO-8859-1之间进行转换。

要解决此方法可以使用如下命令:

Java代码  

  1. DB2SET

    DB2CODEPAGE=819

  2. DB2

    TERMINATE

  3. DB2STOP

    FORCE

  4. DB2START

http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.msg.doc/doc/sql0332.htm

SQL0332N

不支持从源代码页 源代码页 到目标代码页 目标代码页 的字符转换。

说明:

操作失败,因为 源代码页 与 目标代码页 之间不存在代码页转换。这可能是由下列其中一个原因引起的:

  1. 源代码页与目标代码页的字符指令表不兼容,因此,当源代码页与目标代码页之间进行转换时,这可能会导致字符丢失和毁坏。

  2. 不支持此特定代码页转换。

可能会导致此错误的某些操作包括:

  • 将客户机连接至数据库,而客户机的代码页与数据库代码页不相同。

  • 执行 SQL 语句,客户机的代码页与数据库代码页不相同。

  • 导入或导出 WSF 或 IXF 文件,而该文件的代码页与数据库代码页不相同。

  • 联合系统用户:数据源不支持指定的代码页转换。

用户响应:

  1. 使源代码页与目标代码页互相兼容。使用“代码集地域代码”这一短语来搜索 DB2 信息中心(http://publib.boulder.ibm.com/infocenter/db2luw/v9),以便了解受支持的 DB2 代码页的兼容性。要将客户机的代码页设置为与数据库代码页兼容:

  • 在 Unix 平台上,将 LANG、LC_CTYPE 或 LC_ALL 环境变量设置为这样一种语言环境: 其代码页与数据库代码页相兼容。请查阅平台文档,以便了解有效的语言环境名称以及与每个语言环境名称相关联的代码页。

  • 在 Windows 平台上,设置 DB2CODEPAGE 注册表变量,以使用一个与数据库代码页兼容的值来覆盖客户机的代码页。

要了解数据库管理器代码页支持,请使用“代码集地域代码”这一短语来搜索 DB2 信息中心(http://publib.boulder.ibm.com/infocenter/db2luw/v9)。对于联合系统用户,请参阅《联合系统指南》以了解数据源代码页。如果源代码页与目标代码页兼容,则说明 DB2 当前不支持此特定的代码页转换。请与技术服务代表联系以确定是否可以添加这种支持。

DB2 UDB iSeries 版的用户应该知道:具有 CCSID 65535 的字符列或图形列是不受支持的。必须将使用 CCSID 65535 的字符列或图形列转换为受支持的 CCSID(使用 CAST 来进行转换)之后,才能使用 DB2 Connect 来访问这些列。

sqlcode:332

sqlstate:57017

http://www.db2china.net/home/space.php?uid=32727&do=blog&id=12488

首先分两个层面,DB2 CODEPAGE和OS CODEPAGE(DB2SET DB2CODEPAGE相当于设定了当前实例的OS的CODEPAGE)

Linux系统查看CODEPAGE的方法:在终端输入locale
windows查看CODEPAGE方法:在cmd.exe输入chcp,或者右键cmd.exe属性查看。
如果DB2SET DB2CODEPAGE了,这个值的优先级比OS的CODEPAGE高,下面讲的OS CODEPAGE是指没有设置DB2SET DB2CODEPAGE,如果设置了这个实例变量,那么下面讲到的OS CODEPAGE都以实例变量为准

如果是SELECT,显示到屏幕的CODEPAGE会经过这样的转换,DB2 CODEPAGE→OS CODEPAGE→你使用的客户端的CODEPAGE(如果客户端和OS CODEPAGE不一致,会出现乱码,但这只是显示上的乱码,真正的数据没有被破坏),这些转换的基础是字符集之间可以转换,有些字符集之间不能转换,可 以查看http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic /com.ibm.db2.luw.admin.nls.doc/doc/r0004565.html

EXPORT导出的数据默认使用OS CODEPAGE进行存储(你可以通过改变客户端的CODEPAGE来查看这些文件,如果客户端的CODEPAGE和文件存储的CODEPAGE不符,会出现乱码)
IMPORT默认认为导入文件是以OS CODEPAGE存储的(如果文件存储使用的CODEPAGE和OS CODEPAGE不一致,入库后的数据会被破坏,出现乱码,只能重新导入)
LOAD默认认为导入文件时以DB2 CODEPAGE存储的(如果文件存储使用的CODEPAGE和DB2 CODEPAGE不一致,入库后的数据会被破坏,出现乱码,只能重新导入)

所以最保险的就是在导出和导入时都显示指定CODEPAGE(除非数据库的CODEPAGE和指定的CODEPAGE不能转换)

http://falchion.iteye.com/blog/196901

DB2 CODEPAGE --代码页查询列表

http://www.itdata.cn/bbs/dispbbs.asp?boardid=6&id=928

37 (=x0025) EBCDIC US English
273 (=x0111) EBCDIC German
277 (=x0115) EBCDIC Danish/Norwegian
278 (=x0116) EBCDIC Finnish/Swedish
280 (=x0118) EBCDIC Italian
284 (=x011C) EBCDIC Spanish
285 (=x011D) EBCDIC UK English
297 (=x0129) EBCDIC French
300 (=x012C) EBCDIC Japanese DBCS
301 (=x012D) Japanese PC DBCS
420 (=x01A4) EBCDIC Arabic
424 (=x01A8) EBCDIC Arabic
437 (=x01B5) PC-ASCII US
500 (=x01F4) EBCDIC International
803 (=x0323) Hebrew Set A
813 (=x032D) ISO8859-7 Greek
819 (=x0333) ISO8859-1 Western European
833 (=x0341) IBM-833: Korean
834 (=x0342) IBM-834: Korean Host DBCS
835 (=x0343) EBCDIC Traditional Chinese DBCS
836 (=x0344) EBCDIC Simplified Chinese SBCS
838 (=x0346) EBCDIC Thai SBCS
850 (=x0352) ISO8859-1 Western European
852 (=x0354) PC-ASCII Eastern European
855 (=x0357) PC-ASCII Cyrillic
856 (=x0358) PC-ASCII Hebrew
857 (=x0359) PC-ASCII Turkish
858 (=x035A) PC-ASCII Western European with Euro
860 (=x035C) PC-ASCII Portuguese
861 (=x035D) PC-ASCII Icelandic
862 (=x035E) PC-ASCII Hebrew
863 (=x035F) PC-ASCII Canadian French
864 (=x0360) PC-ASCII Arabic
865 (=x0361) PC-ASCII Scandinavian
866 (=x0362) PC-ASCII Cyrillic #2
868 (=x0364) PC-ASCII Urdu
869 (=x0365) PC-ASCII Greek
870 (=x0366) EBCDIC Eastern Europe
871 (=x0367) EBCDIC Icelandic
872 (=x0368) PC-ASCII Cyrillic with Euro
874 (=x036A) PC-ASCII Thai SBCS
875 (=x036B) EBCDIC Greek
880 (=x0370) EBCDIC Cyrillic
891 (=x037B) IBM-891: Korean
897 (=x0381) PC-ASCII Japan Data SBCS
903 (=x0387) PC Simplified Chinese SBCS
904 (=x0388) PC Traditional Chinese Data - SBCS
912 (=x0390) ISO8859-2 Eastern European
915 (=x0393) ISO8859-5 Cyrillic
916 (=x0394) ISO8859-8 Hebrew
918 (=x0396) EBCDIC Urdu
920 (=x0398) ISO8859-9 Turkish
921 (=x0399) ISO Baltic
922 (=x039A) ISO Estonian
923 (=x039B) ISO8859-15 Western Europe with euro (Latin 9)
924 (=x039C) EBCDIC Western Europe with euro
927 (=x039F) PC Traditional Chinese DBCS
928 (=x03A0) PC Simplified Chinese DBCS
930 (=x03A2) EBCDIC Japanese Katakana/Kanji mixed
932 (=x03A4) Japanese OS/2
933 (=x03A5) EBCDIC Korean Mixed
935 (=x03A7) EBCDIC Simplified Chinese Mixed
937 (=x03A9) EBCDIC Traditional Chinese Mixed
939 (=x03AB) EBCDIC Japanese Latin/Kanji mixed
941 (=x03AD) Japanese PC DBCS - for open systems
942 (=x03AE) Japanese PC Data Mixed - extended SBCS
943 (=x03AF) Japanese PC Mixed - for open systems
944 (=x03BO) Korean PC data Mixed - extended SBCS
946 (=x03B2) Simplified Chinese PC data Mixed - extended SBCS
947 (=x03B3) PC Traditional Chinese DBCS
948 (=x03B4) PC Traditional Chinese Mixed - extended SBCS
949 (=x03B5) PC Korean Mixed - KS code
950 (=x03B6) PC Traditional Chinese Mixed - big5
951 (=x03B7) PC Korean DBCS - KS code
970 (=x03CA) euc Korean
1004 (=x03EC) PC Data Latin1
1006 (=x03EE) ISO Urdu
1008 (=x03F0) ASCII Arabic 8-bit ISO
1025 (=x0401) EBCDIC Cyrillic
1026 (=x0402) EBCDIC Turkish
1027 (=x0403) EBCDIC Japanese Latin
1040 (=x0410) IBM-1040: Korean
1041 (=x0411) Japanese PC - extended SBCS
1042 (=x0412) PC Simplified Chinese - extended SBCS
1043 (=x0413) PC Traditional Chinese - extended SBCS
1046 (=x0416) PC-ASCII Arabic
1047 (=x0417) IBM-1047: Western European
1051 (=x041B) ASCII roman8 for HP Western European
1088 (=x0440) PC Korean SBCS - KS code
1089 (=x0441) ISO8859-6 Arabic
1097 (=x0449) EBCDIC Farsi
1098 (=x044A) PC-ASCII Farsi
1112 (=x0458) EBCDIC Baltic (Latvian/Lithuanian)
1114 (=x045A) PC Traditional Chinese - big 5 SBCS
1115 (=x045B) PC Simplified Chinese SBCS
1122 (=x0462) EBCDIC Estonian
1123 (=x0463) EBCDIC Ukrainian
1124 (=x0464) UNIX-ASCII Ukrainian
1131 (=x046B) PC-ASCII Belarus
1140 (=x0474) EBCDIC USA, with euro (like 037)
1141 (=x0475) EBCDIC Austria, Germany, with euro (like 273)
1142 (=x0476) EBCDIC Denmark, Norway, with euro (like 277)
1143 (=x0477) EBCDIC Finland, Sweden, with euro (like 278)
1144 (=x0478) EBCDIC Italy, with euro (like 280)
1145 (=x0479) EBCDIC Spain, with euro (like 284)
1146 (=x047A) EBCDIC UK, with euro (like 285)
1147 (=x047B) EBCDIC France, with euro (like 297)
1148 (=x047C) EBCDIC International, with euro (like 500)
1149 (=x047D) EBCDIC Iceland, with euro (like 871)
1200 (=x04B0) Unicode - UCS-2
1208 (=x04B8) Unicode - UTF-8
1250 (=x04E2) Windows - Eastern European
1251 (=x04E3) Windows - Cyrillic
1252 (=x04E4) Windows - Western European
1253 (=x04E5) Windows - Greek
1254 (=x04E6) Windows - Turkish
1255 (=x04E7) Windows - Hebrew
1256 (=x04E8) Windows - Arabic
1257 (=x04E9) Windows - Baltic Rim
1275 (=x04FB) Apple - Western European
1280 (=x0500) Apple - Greek
1281 (=x0501) Apple - Turkish
1282 (=x0502) Apple - Eastern European
1283 (=x0503) Apple - Cyrillic
1284 (=x0504) IBM-504: Eastern European
1285 (=x0505) IBM-505: Eastern European
1363 (=x0553) Windows Korean PC Mixed including 11,172 full hangul
1364 (=x0554) Korean Host Mixed extended including 11,172 full hangul
1380 (=x0564) PC Simplified Chinese DBCS
1381 (=x0565) PC Simplified Chinese Mixed
1383 (=x0567) euc Simplified Chinese Mixed
1386 (=x056A) PC Simplified Chinese Data GBK Mixed
1388 (=x056C) DBCS Host Simplified Chinese Data GBK Mixed
5346 (=x14E2) Windows-Eastern European with Euro (like 1250)
5347 (=x14E3) Windows - Cyrillic with Euro (like 1251)
5348 (=x14E4) Windows-Western European with Euro (like 1252)
5349 (=x14E5) Windows-Windows - Greek with Euro (like 1253)
5350 (=x14E6) Windows - Turkish with Euro (like 1254)
5351 (=x14E7) Windows - Hebrew with Euro (like 1255)
5352 (=x14E8) Windows - Arabic with Euro (like 1256)
5353 (=x14E9) Windows - Baltic Rim with Euro (like 1257)
5354 (=x14EA) 'Windows - Vietnamese with Euro (like 1258)

转载于:https://my.oschina.net/u/1431757/blog/492340

SQL0332N 不支持从源代码页 XXXX 到目标代码页 XXXX相关推荐

  1. 在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符

    报错 在使用MySQL-Front导入sql文件时报错1113: 在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符. (#1113) 解决方案 导入.sql文件时,单击 选择文件对 ...

  2. Excel 导入 Sql Server出错——“文本被截断,或者一个或多个字符在目标代码页中没有匹配项”错误的解决...

    一直在说截断,但是并未发现错误,也修改了映射的长度(证明并无卵用),查了下网上说的解决办法,说是改注册表,,修改方法如下: 如果是:Jet引擎. HKEY_LOCAL_MACHINE\SOFTWARE ...

  3. keil 在多字节的目标代码页中 没有此unicode_Go语言之父带你重新认识字符串、字节、rune和字符

    以下文章翻译自罗伯·派克发表在Go Blog的文章,文章中为读者详述了Go语言中字符串与我们经常提起的字节.字符还有rune的关系和相互之间的不同.正如派克在文中所说 字符串这个话题对于一篇博客文章来 ...

  4. 如何检测文本文件的编码/代码页

    本文翻译自:How can I detect the encoding/codepage of a text file In our application, we receive text file ...

  5. 【转】刨根究底字符编码之七——ANSI编码与代码页

    一.ANSI编码 1. 如前所述,在全世界所有国家和地区的文字符号统一编码的UCS/Unicode编码方案问世之前(UCS.Unicode后文有详细介绍),各个国家.地区为了用计算机记录并显示自己的字 ...

  6. php db2 页面乱码_DB2代码页设置乱码的处理方法

    在DB2的应用过程中,经常出现由于代码页设置引发的中文显示乱码的问题,下面就教您一个DB2代码页设置乱码的处理方法,供您参考. 如果是新建数据库,就可以用以下语句来直接建立中文代码页的数据库: db2 ...

  7. 【编译和解释】【源代码和目标代码】【静态语言和脚本语言】

    [编译和解释] 基本概念 1.源代码: 2.目标代码: 3.如何把人类可以阅读的程序变成机器可以执行的目标代码 ①编译: ②解释: ③对比编译和解释: ④静态语言和脚本语言: 基本概念 1.源代码: ...

  8. 在window的cmd命令行中通过chcp修改代码页--正确显示utf-8字符

    Mt8616的开发板通过adb工具可以在Windows系统的cmd命令行显示出debug信息,但是mt8516开发板的系统上是移植的裁剪的linux系统,也就是里面的文件是utf-8的编码形式,不能正 ...

  9. php分页不跳转,分页源代码,分页时上一页下一页不显示,但可以跳转

    分页源代码,分页时上一页下一页不显示,但可以跳转 $sql="select * from product where pronum like'%$key%' or pdes like '%$ ...

最新文章

  1. 如何导出android studio程序,Android Studio 如何导出 Jar 给 Unity 使用
  2. shell 命令执行结果判断语句
  3. DataSet Filter用法
  4. RxJava系列4(过滤操作符)
  5. Ruby Fiber指南(三)过滤器
  6. Hadoop 2.x 完全分布式HA集群环境搭建
  7. angularjs 导出excel php,AngularJS 导出Excel指令
  8. M2第三天DailyScrum——PM(李忠)
  9. 牛客 - 红蓝图(克鲁斯卡尔重构树的dfs序上建主席树)
  10. python声明一个长度为n的列表_python中长度为n的列表的置换
  11. golang | 使用goroutine和channel实现一个计算int64随机数各位数和的程序。
  12. 【ESP8266】发送HTTP请求
  13. Xcode7 Xcode6 中添加pch文件
  14. vue中将axios封装
  15. Mac 怎样安装虚拟机(VMware fusion 12)
  16. 为什么程序员应该写博客?用什么博客系统?
  17. linux openerp,Linux+OpenERP/ODOO 安装笔记求推荐。
  18. 在附近小程序中展示你的小程序-微信小程序开发-视频教程21
  19. 从两幅图像的匹配点计算焦距f
  20. 什么是天气预报 API 接口?如何获取天气预报 API?

热门文章

  1. java设计模式_状态模式
  2. ADSL+NAT配置实例
  3. 软件架构的相关概念小汇
  4. 生命游戏 c语言,c++生命游戏源码
  5. php里rand()函数怎么用,php中array_rand()函数怎么使用?
  6. system volume information怎么删除_文件系统怎么让Linux内核认识自己
  7. python表示数字6_【Python 1-6】Python教程之——数字
  8. Xamarin XAML语言教程使用Progress属性数据绑定设置进度条进度
  9. 域名解析服务查询工具dnstracer
  10. 其他主流开源硬件简介BeagleBone Black快速入门