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 | 小平
          @小兵
          誰?如果認識可以私聊,哈哈  回復  更多評論
            
          <2009年1月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          framework

          j2me

          java

          linux

          web

          其他

          友情鏈接

          素材

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大石桥市| 通渭县| 东阳市| 九寨沟县| 如皋市| 威远县| 洛浦县| 松阳县| 云和县| 沁阳市| 湘潭市| 无棣县| 桃源县| 德化县| 崇义县| 西青区| 麦盖提县| 墨江| 宜城市| 临江市| 渭源县| 鹤壁市| 马公市| 灵宝市| 大化| 镇平县| 勐海县| 奉新县| 康定县| 呼伦贝尔市| 河北省| 英德市| 奇台县| 祁门县| 南阳市| 晋江市| 新密市| 阳信县| 安远县| 鹤岗市| 宣化县|