2014-10-06 23 views
0

我想使用SQL Loader将一堆Java文件加载到临时表中。我不断收到主题行错误,我不知道为什么。SQL加载程序错误 - SQL * Loader-503:将扩展附加到文件的错误()

我想要运行的可执行文件看起来像这样。

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 

我敢肯定有一个与在INFILE参数的问题test_load_2.ctl文件,但我不是100%确定如何解决这个问题?

另外我可能在可执行文件中做错了什么。

有什么建议吗?

谢谢!

回答