Oracle字符集不一致

 Oracle 數據庫字符集
在項目中用到數據的移植,源數據庫(db1)字符集 :ZHS16GBK ;目標數據庫(db2)字符集: AL32UTF8; 程序發佈使用了 glassfishvs ;

在應用程序進行數據遷移過程中,從源數據庫讀取數據在向目標數據庫插入時報錯誤:

ORA-12899:列值太大(實際值:4 最大值:1);  實際上 在 源數據庫和目標數據庫執行的是同一套建表語句; 
1、爲了測試引起原因,我們又建了一個測試數據庫(db3),數據庫字符集:ZHS16GBK 。 在db3上進行測試,數據抽取插入沒有問題; 初步排除了 程序發佈的問題;

2、查找資料 看到

由於字符編碼不一致,也會導致出現這樣的問題;解決方案爲 增大列的長度;
3、同事在查看數據庫驅動驅動時發現,數據庫驅動用的是老系統的驅動;更換了最新的數據庫驅動後,執行往db2中插入數據,數據插入成功;
 
因爲這個問題弄了一天;記下來 也給遇到這個問題的朋友提供多一個解決方案選擇;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章