2014-03-13 51 views
-1

我有一个小的vbscript来加载数据并使用sqlldr和sqlplus处理它。我有两个关于sqlplus使用的问题:从命令行使用SQL * Plus

1)我可以在不使用.sql脚本文件的情况下执行存储过程吗? 例如sqlplus user/pass @ server @exec proc_myname

2)我可以在共享的UNC路径上使用.sql脚本文件吗? 例如sqlplus用户/通过@服务器@ \服务器\路径\ script.sql

我试过玩弄,目前正在解决这个问题通过使用本地临时目录来存储sql文件。但我很好奇,如果有另一种/更好的方式。

感谢

回答

1

我可以Exec的,而无需使用.SQL脚本文件的存储过程?

是的。我不太了解VisualBasic,但其基本原理是您创建sqlplus的子进程,然后通过stdin发送命令(即将脚本写入子进程的标准输入)。

我可以在共享的UNC路径上使用.sql脚本文件吗?

如果路径是正确的,那么应该工作。您也可以尝试I/O重定向:

sqlplus user/[email protected] < \\server\path\script.sql 

此方法的缺点是错误消息不包含.sql脚本名称。

+0

感谢您的回答,我没有很好的UNC路径,但我会继续尝试 - 只要我知道这是可能的我很乐意尝试:) – Scottland

+0

也许代码使用错误Windows API。你有没有尝试将共享映射到驱动器号? –