如何使用 SQL Loader 从辅助文件映射 CLOB 数据
How to map CLOB data from secondary file with SQL Loader
我正在尝试使用 SQL 加载程序通过 CLOB 将客户的数据加载到 table。
由于数据量大,客户更愿意提供两个文件:主要文件 - 包含 "main" table 数据,次要文件包含 CLOB。
我正在寻找正确的输入文件布局和正确的加载语法。
辅助文件是否应包含 ID,以及 SQL 加载程序如何匹配两个文件中的记录?
我们的情况大致是这样(假设 CLOB 由字符串 '< lobend >' 分隔):
table emp 列 emp_id, name和 resume (CLOB)。简历是可选的,有时它会为空。
主文件
123, Jane
567, Mary
896, Bob
二级文件
Resume of Jane<lobend>
<lobend>
Resume of Bob<lobend>
假设您的主文件名为 primary.dat,您的辅助文件名为 secondary.dat。创建控制文件如下:
load data
infile 'primary.dat'
into table persons
fields terminated by ','
( emp_id char(3)
,ename char(10)
,resume lobfile( constant 'secondary.dat' ) terminated by "<lobend>\n"
)
然后加载它:
sqlldr userid=scott/tiger control=loadlob.ctl
SQL*Loader: Release 12.1.0.2.0 - Production on Wed Feb 22 08:42:13 2017
Copyright (c) 1982, 2015, Oracle and/or its affiliates. All rights reserved.
Path used: Conventional
Commit point reached - logical record count 3
Table PERSONS:
3 Rows successfully loaded.
Check the log file:
loadlob.log
for more information about the load.
查看数据:
EMP_ID ENAME RESUME
---------- ---------- ------------------------------
123 Jane Resume of Jane
456 Mary
789 Bob Resume of Bob
我正在尝试使用 SQL 加载程序通过 CLOB 将客户的数据加载到 table。 由于数据量大,客户更愿意提供两个文件:主要文件 - 包含 "main" table 数据,次要文件包含 CLOB。
我正在寻找正确的输入文件布局和正确的加载语法。 辅助文件是否应包含 ID,以及 SQL 加载程序如何匹配两个文件中的记录?
我们的情况大致是这样(假设 CLOB 由字符串 '< lobend >' 分隔):
table emp 列 emp_id, name和 resume (CLOB)。简历是可选的,有时它会为空。
主文件
123, Jane
567, Mary
896, Bob
二级文件
Resume of Jane<lobend>
<lobend>
Resume of Bob<lobend>
假设您的主文件名为 primary.dat,您的辅助文件名为 secondary.dat。创建控制文件如下:
load data
infile 'primary.dat'
into table persons
fields terminated by ','
( emp_id char(3)
,ename char(10)
,resume lobfile( constant 'secondary.dat' ) terminated by "<lobend>\n"
)
然后加载它:
sqlldr userid=scott/tiger control=loadlob.ctl
SQL*Loader: Release 12.1.0.2.0 - Production on Wed Feb 22 08:42:13 2017
Copyright (c) 1982, 2015, Oracle and/or its affiliates. All rights reserved.
Path used: Conventional
Commit point reached - logical record count 3
Table PERSONS:
3 Rows successfully loaded.
Check the log file:
loadlob.log
for more information about the load.
查看数据:
EMP_ID ENAME RESUME
---------- ---------- ------------------------------
123 Jane Resume of Jane
456 Mary
789 Bob Resume of Bob