将/home/oracle/ext/shop1.data导入到scott.shop1表中
[oracle@localhost ext]$ cat /home/oracle/ext/shop1.data
1,apple,10
2,banana,20
3,book,25
4,pen,5
在os下,直接执行sqlldr可以查看帮助信息
[oracle@localhost ext]$ sqlldr
sqlldr的几种文件
控制文件(control) :与oracle的controlfile的地位一样,相当于大脑。
日志文件(log):记录sqlldr的详细过程。
坏文件(bad):记录拒绝的数据,如输入格式无效,插入记录无效。
丢失文件(discard): 包含不符合控制文件中指定任一记录选择标准而被过滤掉的记录。
------------------------------------------------------------------------------------------------
控制文件格式
LOAD DATA
INFILE shop1.data
APPEND
INTO TABLE SCOTT.SHOP1
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(ID,NAME,VALUE)
--terminated by whitespace 指定空格为分隔符
--terminated by x'09'
--这里的默认单位是char(255),如果表中字段长度大于255就报错
--当数据中有x,x,
------------------------------------------------------------------------------------------------
创建目录对象(directory objects)
CREATE DIRECTORY SHOP_DIR AS '/home/oracle/ext';
目录对象的权限授予
SQL> grant read on directory shop_dir to scott;
Grant succeeded.
SQL> grant write on directory shop_dir to scott;
Grant succeeded.
------------------------------------------------------------------------------------------------
sqlldr语句开始导入
[oracle@localhost ext]$ sqlldr userid=scott/oracle
本文介绍了如何使用SQLLDR工具将操作系统中的非Oracle数据,例如/home/oracle/ext/shop1.data,导入到Oracle数据库的scott.shop1表中。详细讲解了控制文件的设置,包括字段分隔符、定界符等,并展示了创建目录对象和授权的过程,以及最终执行SQLLDR导入的命令。

被折叠的 条评论
为什么被折叠?



