隨筆-153  評論-235  文章-19  trackbacks-0
                開發項目,今天又難到問題。junit測試寫數據到oracle時,出現:ORA-01461: can bind a LONG value only for insert into a LONG column錯誤,郁悶,試了幾次發現,中文才會有這個問題,而且jsp頁面里輸入的中文又不會報這個錯(前端是struts)。像mysql的話,很有可能是數據庫字符編碼問題,就懷疑是否為字符編碼問題(這種思維不知道會不會很傻),因為項目所有編碼都是utf-8, 看了下oracle是zhs16GBK。然后就建一個gbk的項目來測試,結果還是出現此問題。后來就換用舊系統的classes12.jar驅動測試下,^_^, 不會了,太好了。看了下classes12.jar的版本是9.0.2.0.0的而且又是classes12.jar不爽,后來看到一個帖子,說:用9的和10.2的沒有此問題,我回去看下之前出問題的版本是10.1.0.2.0,郁悶,用的數據庫是10.2.0.1.0。馬上換成10.2.0.1.0的版本。當初不注意,今天花了我幾個小時。我一直以為jdbc是數據庫對應的。

          對應的jdbc在oracle安裝目錄可以找到oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar

          問題總算解決,^_^
          posted on 2007-10-20 21:08 流浪汗 閱讀(25280) 評論(14)  編輯  收藏 所屬分類: oracle

          評論:
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2008-09-04 15:56 | 卡藍
          很好,按樓主的做法,問題解決了。
          萬分感謝!!!  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2008-12-07 20:51 | Super叮當
          我也碰到了這種問題,按樓主的方法解決問題了 , 謝謝!  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2008-12-17 14:51 | 肖志偉
          太感謝你了  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2009-02-10 09:21 | Maicoln
          解決問題后,萬分感謝!  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2009-03-31 16:25 | annoymous
          Good job! You're a goddamn genius!  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2009-04-14 11:49 | 12
          感謝  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2009-05-04 16:02 | charry_2008
          oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar
          我的oracle9.2沒有這個安裝路徑,oracle\product\9.2.0\jdbc下只有classes12.jar這個文件,但是weblogic中用的默認ojdbc14.jar
          在插入數據超過666個字符就拋出ora-01461這個錯誤  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2009-05-04 17:20 | 流浪汗
          @charry_2008
          我那問題是中文亂碼問題,而你沒有,那可能字段是真正的不夠長了。可能要看下字段設置。  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2011-09-01 17:27 | EldDeng
          我也是這個問題,我用的是ojdbc14.jar,但還是報這個錯,看了你這個我試了classes12.jar,成功, 換了個ojdbc14.jar,也好的,原來的ojdbc14.jar應該被破壞了
          太謝謝了!!  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2011-10-17 18:17 | 磊磊
          也許是lib下的包沒有導入  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column[未登錄] 2012-06-29 18:05 | 丫丫
          怎么處理
          ORA-01461: can bind a LONG value only for insert into a LONG column
          我在jsp輸入漢字就報錯  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column[未登錄] 2012-06-29 18:07 | 丫丫
          ORA-01461: can bind a LONG value only for insert into a LONG column
          我在jsp輸入漢字就報錯
          我用的classes12.jar  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column 2013-02-05 15:52 | my12us
          樓主的方法固然能解決問題但是工程量太大了,我直接找了其他機子的oracle10.20.0的jdbc驅動包把10.1.0.2.0的全換掉了 問題也解決了  回復  更多評論
            
          # re: ORA-01461: can bind a LONG value only for insert into a LONG column[未登錄] 2013-07-18 15:36 | 強強
          謝謝哈,我也解決啦。。。  回復  更多評論
            
          主站蜘蛛池模板: 德庆县| 钟山县| 玉树县| 同仁县| 沈丘县| 祁东县| 延川县| 八宿县| 甘孜县| 湘潭县| 哈尔滨市| 洪洞县| 阿克苏市| 元谋县| 崇仁县| 沙雅县| 长沙市| 乌兰察布市| 廊坊市| 德兴市| 广河县| 横峰县| 定边县| 江城| 西城区| 阿坝县| 六盘水市| 武强县| 肥乡县| 望江县| 广元市| 贺州市| 宜宾市| 色达县| 中江县| 温州市| 德惠市| 巍山| 日喀则市| 九龙县| 永嘉县|