Oracle

sqlplus SP2-0341(變數替換期間行溢出)

  • September 28, 2021

我想將 Oracle 數據庫導出到一個文件中,為此我在 Windows 上使用 SQLDeveloper(生成的 SQL 文本文件大約為 35MB)。這導致很長的行。

在 linux 上使用 sqlplus 導入文件時遇到了問題:

SP2-0341: line overflow during variable substitution (>3000 characters at line 1)

這發生在多行上。

我看不到有關如何在導出時限制行長的選項。我試圖設置線條大小然後導出,但無濟於事。我也嘗試過編輯該文件,但我使用的 vim 工具專注於顯式行長而不是 SQL 的語義(它們會破壞字元串)。此外,我的 regex-fu 只能VALUES用換行符包圍關鍵字,但即便如此,行數仍然比 3000 長得多。此外,35MB 需要手動編輯很多。

我僅限於這些工具和 RDBMS,但我願意接受建議。

SQL*Plus 不是數據載入工具。使用適當的工具。

SQL Developer 可以創建 CSV 文件。而不是SQL*Plus,用於SQL*Loader載入數據。

SQL*Plus 限制

在此處輸入圖像描述

3000 個字元的限制適用於 SQL 中的任何單行。添加換行符以減少最大行長度。

代替

select columna, columnb, columnc ........ from table

做這個

select
columna,
columnb,
columnc
from table

引用自:https://dba.stackexchange.com/questions/225352