DOS/sqlplus“句柄无效”错误?

发布于 2024-08-14 14:45:51 字数 598 浏览 8 评论 0原文

我有以下批处理脚本:

sqlplus ms/ms@orcl < drop.sql
sqlplus ms/ms@orcl < create.1.0.sql

当我双击 Windows 资源管理器中的 bat 文件并运行它时,它工作得很好。

但是,当我在 DOS 提示符下键入命令名称时,出现错误:

C:\>create.bat

C:\>sqlplus ms/ms@orcl  0<drop.sql
The handle is invalid.

C:\>sqlplus ms/ms@orcl  0<create.1.0.sql
The handle is invalid

有什么想法吗?


更新:更改为使用 @ 而不是 <。这可以解决错误,但现在脚本仅执行第一个文件,然后让您处于 SQL> 提示符处。要执行第二个文件,您必须在提示符处键入 exit,然后第二个文件才会运行。不确定如何让这两个文件都执行。 ??

I have the following batch script:

sqlplus ms/ms@orcl < drop.sql
sqlplus ms/ms@orcl < create.1.0.sql

This works fine when I double click on the bat file in Windows Explorer and run it.

But when I type the command name from the DOS prompt I get an error:

C:\>create.bat

C:\>sqlplus ms/ms@orcl  0<drop.sql
The handle is invalid.

C:\>sqlplus ms/ms@orcl  0<create.1.0.sql
The handle is invalid

Any ideas?


Update: Made the change to use @ instead of <. This gets around the error but now the script only executes the first file and then leaves you at the SQL> prompt. To get the second file to execute you have to type exit at the prompt, then the second file runs. Not sure how to get both files to execute. ??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

誰ツ都不明白 2024-08-21 14:45:52

如果您希望 SQL*PLUS 执行脚本,比命令行重定向更好的方法是 @ 语法:

sqlplus ms/ms@orcl @drop.sql
sqlplus ms/ms@orcl @create.1.0.sql

另请阅读 @@ 语法,您可以使用它从目录中的另一个 .sql 脚本执行 .sql 脚本。同一目录。

SQL> help @
SQL> help @@

If you want SQL*PLUS to execute a script, a better way than command-line redirection is the @ syntax:

sqlplus ms/ms@orcl @drop.sql
sqlplus ms/ms@orcl @create.1.0.sql

Also read up on the @@ syntax, which you can use to execute a .sql script from another .sql script in the same directory.

SQL> help @
SQL> help @@
乞讨 2024-08-21 14:45:52

更改为使用 @ 而不是 <。
这解决了错误,但现在
脚本只执行第一个文件
然后你会看到 SQL>
迅速的。获取第二个文件
执行你必须在
提示,然后第二个文件运行。不是
确定如何让这两个文件都执行。
??

我最终编写了一个 python 脚本来运行 sql plus,然后退出它来解决这个问题。我还没有找到任何方法来解决这个限制。尽管如果您按照建议使用 @@,则只需处理该问题一次。您只需运行第一个脚本中的第二个脚本即可。

Made the change to use @ instead of <.
This gets around the error but now the
script only executes the first file
and then leaves you at the SQL>
prompt. To get the second file to
execute you have to type exit at the
prompt, then the second file runs. Not
sure how to get both files to execute.
??

I ended up writing a python script to run sql plus and then exit it to get around this issue. I have yet to find any way around that limitation. Although you would only have to deal with the issue once if you use @@ as was suggested. You would just have to run the second script from the first script.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文