2014-10-06 290 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%確定如何解決這個問題?

另外我可能在可執行文件中做錯了什麼。

有什麼建議嗎?

謝謝!

回答