2014-01-22 26 views
0

我已成功導出方案。在導入時,日誌說明字符集不匹配。奇怪的是,在服務器上導出已完成,字符集與目標數據庫上的相同。具有正確字符集的導入/導出oracle方案

這是從源:

SQL> select * from v$NLS_PARAMETERS 
    2 ; 


**NLS_CHARACTERSET 
WE8MSWIN1252** 

**NLS_NCHAR_CHARACTERSET 
AL16UTF16** 

這是從日誌導入的:

Importvorgang mit Zeichensatz WE8MSWIN1252 und Zeichensatz AL16UTF16 NCHAR durchgeführt 
Export-Client verwendet Zeichensatz US7ASCII (mögliche Zeichensatzkonvertierung) 

爲什麼轉儲公認US7ASCII設置?源和目標都是非美國機器。

謝謝

+0

執行導入/導出操作的客戶端鎖定設置爲US7ASCII。檢查目標數據庫中是否有特殊字符(例如üöä)。也許你可以只用一個小單表來測試。 –

+0

德國Umalute失蹤。 ü去你,ö去o等 –

+2

嘗試設置您的本地環境WE8MSWIN1252或類似,例如'NLS_LANG = AMERICAN_GERMANY.AL32UTF8'。不需要使用相同的字符,但字符集必須覆蓋CP1252的所有字符。 –

回答

4

是的,看起來像客戶端會話的字符集的問題。將其設置爲全球支持和推薦的UTF8格式。

請再次輸出並嘗試導入。 (在導出前執行以下操作):

In Windows 
    set NLS_LANG=AMERICAN_AMERICA.UTF8 
In Unix 
    export NLS_LANG=AMERICAN_AMERICA.UTF8 

這些天,DB字符集也被推薦爲'AL32UTF8'。