💡
原文英文,约600词,阅读约需3分钟。
📝
内容提要
批量加载工具用于一次性将数据加载到表中,区别于逐行插入。使用CSV、TXT等格式创建控制文件,执行时可设置条件、跳过行和记录日志,以确保数据有效性。
🎯
关键要点
- 批量加载工具用于一次性将数据加载到表中,区别于逐行插入。
- 加载数据时需要注意四个要素:数据、表、加载脚本和执行。
- 支持的文件格式包括CSV、TXT等,建议使用记事本保存文件。
- 创建表的示例:create table sample(id number, name varchar2(25), salary number);
- 加载脚本或控制文件的创建方式相同,需指定文件路径和字段分隔符。
- 使用sqlldr命令执行加载,direct=true可加快加载速度并绕过约束和触发器。
- 可以使用FILLER关键字跳过某些列的加载。
- 加载数据时可设置条件,失败的数据会存储在DISCARD文件中,Oracle错误会记录在BAD文件中。
- 执行时可设置日志文件、坏文件和丢弃文件的名称。
- 可以通过skip参数跳过指定行数的数据。
- 插入数据时,表必须为空,若表中已有数据则会报错,可以使用append或truncate选项。
- 支持使用不同的分隔符(如#)加载特定列的数据。
❓
延伸问答
什么是批量加载工具,它的主要功能是什么?
批量加载工具用于一次性将数据加载到表中,区别于逐行插入。
使用批量加载工具时需要注意哪些要素?
需要注意的数据、表、加载脚本和执行四个要素。
支持哪些文件格式进行数据加载?
支持的文件格式包括CSV、TXT等。
如何创建加载脚本或控制文件?
加载脚本需指定文件路径和字段分隔符,格式为:load data infile '文件路径' insert into table 表名 fields terminated by ','(字段1, 字段2, ...)。
如何提高批量加载的速度?
可以使用sqlldr命令中的direct=true选项来加快加载速度,并绕过约束和触发器。
如果加载数据时遇到错误,如何处理?
失败的数据会存储在DISCARD文件中,Oracle错误会记录在BAD文件中。
➡️