ORA 12899 JDBC插入ORA欄位超長

2021-09-25 20:35:40 字數 377 閱讀 3119

往ora插入中文的時候報了這個錯,ora-12889:value to large for column (actual:54,maximum:40)

有2個原因造成的,

第乙個是讀取file的時候文字沒有設定編碼集,導致亂碼,不亂碼還是會出現這個錯誤。

第二個是oraclejdbc問題。一般直接用ps.setstring()設定字串資料時,oracle的jdbc驅動會將中文轉換為2位元組或3位元組,不固定的,因此經常會越界。如果改為ps.setcharacterstream()就是固定的每個中文兩個位元組。

value);

ps.setcharacterstream(index, new stringreader(value), value.length()); 

imp 遇到ORA 12899錯誤,解決方法

在測試的過程中遇到的問題 imp 00019 row rejected due to oracle error 12899 imp 00003 oracle error 12899 encountered ora 12899 value too large for column 字符集問題 源庫19...

ora 02437 違反主關鍵字

一般來說是主鍵中存在null select from rpmfix.sysotvs where companycode is null or countryareacode is null or slipno is null or lineno is null or seqno is null or...

執行批量插入語句報ORA 00001

記錄在開發過程中遇到的一次ora 00001 違反唯一性約束 下面是批量插入語句,執行時會報 ora 00001 原因 在批量插入資料時 1 有重複的資料同時插入 2 插入的資料在資料庫表中已經存在 insert into use database name tab b bill code sele...