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

2021-07-03 03:23:00 字數 809 閱讀 4198

在測試的過程中遇到的問題:

imp-00019: row rejected due to oracle error 12899

imp-00003: oracle error 12899 encountered

ora-12899: value too large for column

字符集問題:

源庫192.168.216.172為oracle 9.2.0.6 zhs16bgk,漢字在資料庫存放的時候占用兩個位元組

目標庫192.168.51.67為10.2.0.2 utf8,漢字在資料庫裡存放的時候占用三個位元組

由於字符集不同,導致現在資料庫imp的時候有些表的字段長度不夠,出現ora-12899: value too large for column的錯誤。

解決方法:

在51.67資料庫上執行:

sql>shutdown immediate

sql>startup mount

sql>alter system enable restricted session

sql>alter system set job_queue_processes=0;

sql>alter system set aq_tm_processes=0;

sql>alter database open

sql>alter database character set internal_use zhs16gbk

--設定internal_use指令不對字符集超集進行檢查:

sql>shutdown immediate

sql>startup

Oracle ORA 12899錯誤的解決方法

ora 12899錯誤,一般在匯入oracle資料時會報,指插入的資料長度超出欄位的設定長度,這是由於oracle字符集不同,漢字佔的長度不同造成的,比如中文在zhs16gbk中佔2個位元組,在utf 8中卻佔3個位元組。下面介紹通過修改字符集解決該錯,另外可以增加字段長度解決。檢視字符集的方法可以...

ORA 12571 ORA 03113錯誤解決

問題現象 windows2000 環境下system 檔案壞掉了,不能啟動,修復以後機器是啟動了,但發現原來的 oracle 服務都不見了,也沒有什麼重要的資料,就重灌了一遍,裝完以後一切正常,連線 oracle 正常,重啟動機器以後發現連線 oracle 出現錯誤 ora 12571 tns 包寫...

錯誤解決 ORA 01036

最近寫程式時,往oracle中插入資料,出現錯誤ora 01036 非法的變數名 編號,如下 dbconnection conn getcon conn.open dbcommand cmd conn.createcommand string sqlrt insert into t user id,...