-- Start
SQL*Loader 是 Oracle 提供的一个工具用来将文件中的数据导入到一个或多个表中。你可以在 Oracle 的安装目录中找到它 C:\oraclexe\app\oracle\product\11.2.0\server\bin\sqlldr.exe
目前,我们最常用的用来传输数据的文件格式有 2 种,一种是分隔符文件(如:CSV),另一种是定长文件,下面我们通过例子来看看如果导入这两种文件。
首先,我们创建如下的表。
CREATE TABLE EMPLOYEES
(
EMPLOYEE_ID NUMBER(6,0) NOT NULL,
FIRST_NAME VARCHAR2(20) NOT NULL,
LAST_NAME VARCHAR2(25) NOT NULL,
EMAIL VARCHAR2(50) NULL,
HIRE_DATE DATE NULL,
SALARY NUMBER(8,2) NULL,
UPDATE_DATE_TIME TIMESTAMP NULL
);
分隔符文件例子1
假设我们有下面的文件(C:\log\employees.txt)
1,bo,shang,2015-01-01,8888.88,2015-02-19 22:15:00.000
2,san,zhang,2015-02-02,9999.99,2015-02-19 22:15:00.000
试一试下面的命令导入文件到 EMPLOYEES 表吧。
sqlldr
USERID=DBuser/shangbo -- 指定连接数据库用户名,密码
ROWS=1000 -- 每 1000 条提交一次
BAD=C:\log\employees.bad -- 保存那些在导入的过程中,由于格式等问题出错的行
DISCARD=C:\log\employees.dsc -- 保存那些由于某些条件不满足而丢弃的行
LOG=C:\log\employees.log -- 保存日志文件
CONTROL=C:\l