【发布时间】:2014-10-06 18:56:31
【问题描述】:
我正在尝试使用 SQL Loader 将一堆 Java 文件加载到临时表中。我不断收到主题行错误,我不知道为什么。
我尝试运行的可执行文件如下所示。
for i in `find <files in certain directory.java>`
do
echo "File name = ${i}"
COMMAND='sed'; ARG='s/XXXX/${i}/'
echo $COMMAND '; ' $ARG
cat test_load.ctl | $COMMAND "$ARG" > test_load_2.ctl
sqlldr <user>/<password> control=test_load_2.ctl log=<file_name>.log
done
我的 test_load.ctl 文件如下所示:
我正在尝试用上面 Java 目录中的循环文件替换 XXXX INFILE。
LOAD DATA
INFILE 'XXXX'
BADFILE '/<directory>/<filename>.bad'
DISCARDFILE '/<directory>/<filename>.dsc'
APPEND INTO TABLE "<SCHEMA>"."<TABLE_NAME>"
TRAILING NULLCOLS
(
id sequence (1, 1),
raw_string position (1:4000) char(4000),
file_name,
dir_path,
load_date sysdate,
line_number sequence (1, 1)
)
我的 test_load_2.ctl 文件如下所示:
LOAD DATA
INFILE '${i}'
BADFILE '/<directory>/<filename>.bad'
DISCARDFILE '/<directory>/<filename>.dsc'
APPEND INTO TABLE "<SCHEMA>"."<TABLE_NAME>"
TRAILING NULLCOLS
(
id sequence (1, 1),
raw_string position (1:4000) char(4000),
file_name,
dir_path,
load_date sysdate,
line_number sequence (1, 1)
)
我不断收到此错误:
SQL*Loader-503: Error appending extension to file ()
Additional information: 7217
我很确定 test_load_2.ctl 文件中的 INFILE 参数存在问题,但我不能 100% 确定如何解决这个问题?
我也可能在可执行文件中做错了什么。
有什么建议吗?
谢谢!
【问题讨论】:
标签: unix sed sql-loader