我想将 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 中的任何单行。添加换行符以减少最大行长度。
代替
做这个
你可以试试SQLcl。我对 sqlplus 有同样的问题,切换到 SQLcl 有帮助。