我试图通过命令提示符使用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
答案 0 :(得分:0)
在CONTROL =之后删除逗号,并确保更改密码!
如果仍然无效,请更新您的帖子以显示控制文件的内容。
答案 1 :(得分:0)
问题在于您的DATA文件的格式。您的数据文件必须具有.dat
扩展名。
将DATA文件的扩展名从.txt
更改为.dat
您的命令应如下所示-
SQLLDR USERID=login/password@database CONTROL=%reportname%.CTL, DATA=%reportname%.dat