从平面文件将数据加载到包含 clob 数据类型的表
我正在尝试使用 SQLLDR 从平面文件中获取的值填充表。问题是表中的字段之一是 CLOB 数据类型(假设字段名称是 COMMENTS)。在控制文件中,我提到该字段的数据类型为 CHAR(4000),因为在控制文件中使用 CLOB 不起作用。但当字段中存在 EndOfLine 时,这也会失败。因此它尝试加载下一行作为新记录并失败。
请提出解决方案...... 提前致谢
I am trying to populate a table with the values taken from a flat file using SQLLDR.The problem is that one of the fields in the table is of CLOB datatype(lets say the field name is COMMENTS). In the control file, i have mentioned the datatype for this field as CHAR(4000), since the usage of CLOB in control file was not working. But this also fails when there is a EndOfLine present in the field. Thus it tries to load the next line as new record and fails.
Please suggest a solution to this....
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可能必须使用 perl 或类似的东西以编程方式执行此操作。或者,您可以使用类似于此处给出的示例的内容:
http://www.oracle -base.com/articles/10g/LoadLobDataUsingSqlLoader.php
You may have to do this programatically using perl or something similar. Alternatively, you can use something like the example given here:
http://www.oracle-base.com/articles/10g/LoadLobDataUsingSqlLoader.php
您没有说明为什么控制文件中的 CLOB 规范失败,但如果您使用的是 9i 或更高版本,您应该能够通过 sqlldr 加载 CLOB。
如果做不到这一点,您也许可以组装通过 CONTINUEIF 从物理记录生成逻辑记录。
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.