SQLLDR命令找不到错误的.Dat文件

时间:2017-05-10 12:11:37

标签: batch-file sql-loader

我试图通过命令提示符使用SQLLDR命令在Oracle表中加载少量值。我试图设置一个变量来让用户放置文件名,这将在SQLLDR命令中被接受。我有一个控制文件(.CTL),一个数据文件(.txt),但它抛出错误:

SQL*Loader-500: Unable to open file (sqlldrtest.dat)

即使我已经将.txt文件称为数据文件。

这是我第一次将SQLLDR与变量一起使用。我之前没有任何变量成功使用过SQLLDR命令。

任何人都可以帮我纠正这个错误。

.BAT文件的代码是:

set /p reportname="Enter Your Report Name: "

SQLLDR USERID=login/password@database CONTROL=%reportname%.CTL, DATA=%reportname%.txt

pause

2 个答案:

答案 0 :(得分:0)

在CONTROL =之后删除逗号,并确保更改密码!

如果仍然无效,请更新您的帖子以显示控制文件的内容。

答案 1 :(得分:0)

问题在于您的DATA文件的格式。您的数据文件必须具有.dat扩展名。

将DATA文件的扩展名从.txt更改为.dat

您的命令应如下所示-

SQLLDR USERID=login/password@database CONTROL=%reportname%.CTL, DATA=%reportname%.dat