posts - 31,  comments - 31,  trackbacks - 0
                今天用sun的jdk調的沒有一點問題的數據抽取程序,方放到AIX上后不能用了,oralce報出向一個字段中插入了過長的數據,可是程序在幾天前還是沒有問題的,后來分析可能是字符集導致的,因為前幾天修改過informix數據庫的字符集由8859-1轉為了zh_cn.gb18030-2000,但解決過程異常艱難,后來吧informix的url改為<value>jdbc:informix-sqli://xx.xx.xx.xx:8888/XXXX:informixserver=whcspdev;DB_LOCALE=zh_cn.gb18030-2000;CLIENT_LOCALE=zh_cn.UTF8(原為zh_cn.gb18030-2000);NEWCODESET=gb18030,gb18030-2000,5488,utf8</value>就可以了。后來猜測了一下原因:
          1、oracle數據庫的jdbc驅動是是自動將數據庫的數據轉為unicode格式,這可能跟java的String默認為unicode有關,為了讓大家方便操作,
          2、sun jdk的String在初始時用的是Unicode格式,ibm的jdk應該也是,但是有一點,sun的jdk在通過informix jdbc驅動取數據時不會將數據轉成其他字符集,而是仍然使用Unicode,而IBM的則是通過CLIENT_LOCALE=zh_cn.gb18030-2000配置將數據格式轉為了zh_cn.gb18030-2000。
          所以在oracle作insert的時候就會由于字符集不匹配而報錯
          posted on 2007-07-18 19:23 小平 閱讀(1000) 評論(2)  編輯  收藏 所屬分類: 隨筆


          FeedBack:
          # re: AIX IBM JDK 上運行Informix 與oralce之間的數據批量抽取的java程序的字符集問題[未登錄]
          2009-01-07 20:37 | 小兵
          現在在哪呢?不好意思收到你這來了,哈哈  回復  更多評論
            
          # re: AIX IBM JDK 上運行Informix 與oralce之間的數據批量抽取的java程序的字符集問題[未登錄]
          2009-01-09 14:26 | 小平
          @小兵
          誰?如果認識可以私聊,哈哈  回復  更多評論
            
          <2007年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          framework

          j2me

          java

          linux

          web

          其他

          友情鏈接

          素材

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 油尖旺区| 龙井市| 抚远县| 孝感市| 唐山市| 晋城| 金平| 卓尼县| 武隆县| 营山县| 许昌县| 金华市| 呼伦贝尔市| 柘城县| 隆化县| 昌都县| 常州市| 金沙县| 温州市| 永德县| 澳门| 综艺| 贞丰县| 右玉县| 建瓯市| 广河县| 洛南县| 涿鹿县| 农安县| 琼海市| 灵丘县| 天镇县| 汪清县| 依兰县| 铁岭县| 淄博市| 西平县| 太和县| 酒泉市| 渝中区| 光泽县|