【发布时间】:2017-12-29 19:22:33
【问题描述】:
我想忽略所有字段为空的 .csv 文件的最后一行。但是在导入数据时,我不希望 SQL 加载器生成错误消息“行未加载,因为所有字段都为空”或“行未加载,因为所有 WHEN 子句均失败”。我希望它导入数据而不产生任何错误。
有没有办法做到这一点?我已尝试使用 Trailing Nullcols,但它不起作用。
【问题讨论】:
标签: oracle11g sql-loader
我想忽略所有字段为空的 .csv 文件的最后一行。但是在导入数据时,我不希望 SQL 加载器生成错误消息“行未加载,因为所有字段都为空”或“行未加载,因为所有 WHEN 子句均失败”。我希望它导入数据而不产生任何错误。
有没有办法做到这一点?我已尝试使用 Trailing Nullcols,但它不起作用。
【问题讨论】:
标签: oracle11g sql-loader
如果您可以提前知道文件中有多少行,您可以使用 LOAD= 选项告诉 sqlldr 要加载多少行。另一方面,如果您正在做预处理来解决这个问题,那么您可以删除空白行,除非您的规范是不更改文件。
或者只是将所有行加载到临时表中并从那里处理,这是处理加载的常用方法。
【讨论】:
wc -l 或在 Windows 上使用 find /c /v "" < filename.dat。您需要根据自己的限制在这里获得一些创意,仅此而已:-)