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 小平 閱讀(1007) 評論(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

          其他

          友情鏈接

          素材

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 浦城县| 克拉玛依市| 古田县| 灯塔市| 宜阳县| 慈利县| 江源县| 道孚县| 阿坝| 宁国市| 班玛县| 高唐县| 积石山| 宜春市| 咸丰县| 靖西县| 临沂市| 邵阳市| 信阳市| 乳山市| 泗洪县| 宁武县| 湖州市| 潜山县| 甘南县| 怀柔区| 曲水县| 华容县| 英吉沙县| 罗江县| 榕江县| 临猗县| 南开区| 大英县| 沂南县| 墨玉县| 池州市| 揭西县| 盐津县| 常德市| 定西市|