開發項目,今天又難到問題。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
流浪汗 閱讀(25272)
評論(14) 編輯 收藏 所屬分類:
oracle