使用外部表,我们正在读取包含标头的CSV文件。我正在使用SKIP 1作为跳过标题的命令。当我们只有一个文件时,它可以正常工作,并且可以使用外部表归档。
但是在读取多个文件时出现错误“ ORA-30653:达到拒绝限制”。因为跳过1只会跳过第一个文件头,而不会跳过其他文件。
如何在读取多个文件时跳过所有文件头
使用外部表,我们正在读取包含标头的CSV文件。我正在使用SKIP 1作为跳过标题的命令。当我们只有一个文件时,它可以正常工作,并且可以使用外部表归档。
但是在读取多个文件时出现错误“ ORA-30653:达到拒绝限制”。因为跳过1只会跳过第一个文件头,而不会跳过其他文件。
如何在读取多个文件时跳过所有文件头
读取多个文件时出现“ ORA-30653:已达到拒绝限制”
您可以指定引发错误之前被拒绝的行数,也可以指定UNLIMITED
。我猜您指定了一个数字,但是您的csv文件包含了数据库无法根据您的定义正确解析的行。
如果要忽略所有格式错误的行,只需将限制更改为UNLIMITED
:
alter table users_load reject limit unlimited;
创建表示例:
CREATE TABLE foo_load (
employee_number CHAR(5)
) ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_tab_dir
ACCESS PARAMETERS (
...
)
LOCATION ('foo.txt')
)
REJECT LIMIT UNLIMITED; --Use limit,not limited
有关如何创建外部表的完整详尽示例,请阅读Here