我有一个小的vbscript来加载数据并使用sqlldr和sqlplus处理它。我有两个关于sqlplus用法的问题:
1)我可以在不使用.sql脚本文件的情况下执行存储过程吗? 例如sqlplus user / pass @ server @exec proc_myname
2)我可以在共享的UNC路径上使用.sql脚本文件吗? 例如sqlplus user / pass @ server @ \ server \ path \ script.sql
我试过玩游戏,目前正在通过使用本地临时目录存储sql文件解决问题。但我很好奇是否有另一种/更好的方式。
由于
答案 0 :(得分:1)
我可以在不使用.sql脚本文件的情况下执行存储过程吗?
是。我不太了解VisualBasic,但基本原则是你为sqlplus
创建子进程然后通过stdin发送命令(即你的脚本写入子进程的标准输入)。
我可以在共享的UNC路径上使用.sql脚本文件吗?
如果路径正确,则应该有效。您也可以尝试I / O重定向:
sqlplus user/pass@server < \\server\path\script.sql
此方法的缺点是错误消息不包含.sql脚本名称。
答案 1 :(得分:0)
关于你的第二个问题:
从 UNC 路径运行脚本对我有用,无需驱动器映射或 I/O 重定向:
sqlplus /nolog "@\\server\path\file.sql"
sqlplus 12.2.0.1版
显然,引号和“@”很重要。