我有以下批处理脚本:DOS/sqlplus“句柄无效”错误?
sqlplus ms/[email protected] < drop.sql
sqlplus ms/[email protected] < create.1.0.sql
当我双击在Windows资源管理器的bat文件,并运行它也能正常工作。
但是,当我从DOS提示符下键入命令的名字,我得到一个错误:
C:\>create.bat
C:\>sqlplus ms/[email protected] 0<drop.sql
The handle is invalid.
C:\>sqlplus ms/[email protected] 0<create.1.0.sql
The handle is invalid
任何想法?
更新:进行了更改使用@
,而不是<
。这绕过了错误,但是现在该脚本仅执行第一个文件,然后在SQL>
提示处离开您。要获得第二个文件执行,你必须在提示符下键入exit
,然后运行第二个文件。不知道如何让两个文件执行。 ??
看起来像从命令行运行的批处理脚本有一些额外的0。 0是一个无效的句柄,因此是错误消息。 使用shoover的解决方案 - @是sqlplus的一个参数,它告诉它运行给定的sql脚本。 – 2009-12-10 03:06:32
试过了,不是运气。更新后。 – 2009-12-10 17:19:28
在Jason的回答下看到我的评论。 – shoover 2009-12-10 17:59:38