【问题标题】:SQL Loader Error - SQL*Loader-503: Error appending extension to file ()SQL Loader 错误 - SQL*Loader-503: 将扩展名附加到文件时出错 ()
【发布时间】: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


    【解决方案1】:

    控制文件中不会发生变量扩展。在命令行上指定 INFILE,而不是使用 DATA 参数。

    https://docs.oracle.com/cd/E11882_01/server.112/e22490/ldr_params.htm#SUTIL004

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 2012-12-14
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 2022-07-12
      相关资源
      最近更新 更多