2009-10-14 32 views
0

如何避免00626 SQL加載錯誤

 
"characterset conversion buffer overflow" error in sql*loader? error # 00626. 

我無法找到這個互聯網上請建議我這種情況的解決方案。

回答

0

這不是一個很大的幫助,但這裏是Oracle錯誤手冊有要說的錯誤:

SQL*Loader-00626: Character set conversion buffer overflow.

Cause: A conversion from the datafile character set to the client character set required more space than that allocated for the conversion buffer. The size of the conversion buffer is limited by the maximum size of a varchar2 column.

Action: The input record is rejected. The data will not fit into the column.

聽起來好像沒有什麼辦法來解決這個內SQLLOADER。如果它影響少量記錄,那麼手動處理這些記錄可能是最簡單的。如果它有很多記錄,那麼你可能需要找到或創建一個不同的加載工具。

0

只是一些想法供你思考:

  • 你可以嘗試加載「串」到數據庫中的不同領域..也許這樣可以解決限制的不同部分。
  • 你可以嘗試在不同的工具中進行字符集轉換..一些文本編輯器可能會給你一些選項,然後加載文件而不需要轉換。

不知道這些想法是否有任何優點,但希望你能解決一些問題。

1

輸入數據文件的字符集是什麼?您可以嘗試指定控制文件中的字符集:

CHARACTERSET char_set_name LENGTH SEMANTICS CHARACTER 

默認情況下,如果未指定,Oracle將使用字節長度語義。因此,如果將控制文件中的字段長度定義爲VARCHAR(20),則在字節語義中,您將有20字節的緩衝區,但在字符長度語義中,您可能有40字節的緩衝區。這是我的猜測,可能是錯誤的根源。

0

感謝您的幫助。這個問題已經解決。我們拆分文件並分塊加載,並且工作正常