我正在尝试使用 SQLLDR 从平面文件中获取的值填充表。问题是表中的字段之一是 CLOB 数据类型(假设字段名称是 COMMENTS)。在控制文件中,我提到该字段的数据类型为 CHAR(4000),因为在控制文件中使用 CLOB 不起作用。但是,当字段中存在 EndOfLine 时,这也会失败。因此,它尝试将下一行加载为新记录并失败。
请为此提出解决方案....提前致谢
我正在尝试使用 SQLLDR 从平面文件中获取的值填充表。问题是表中的字段之一是 CLOB 数据类型(假设字段名称是 COMMENTS)。在控制文件中,我提到该字段的数据类型为 CHAR(4000),因为在控制文件中使用 CLOB 不起作用。但是,当字段中存在 EndOfLine 时,这也会失败。因此,它尝试将下一行加载为新记录并失败。
请为此提出解决方案....提前致谢
You don't say why the CLOB specification in the control file failed, but if you're at 9i or later, you should be able to load a CLOB via sqlldr.
Failing that, you might be able to work out assembling logical records from physical records via CONTINUEIF.
您可能必须使用 perl 或类似的东西以编程方式执行此操作。或者,您可以使用此处给出的示例:
http://www.oracle-base.com/articles/10g/LoadLobDataUsingSqlLoader.php