【发布时间】:2014-04-10 09:45:44
【问题描述】:
我正在尝试从命令行将参数传递给 SQL*Plus 脚本,通常它是这样工作的:
sqlplus -s login/pass@sid @script.sql some_param
在 script.sql 中,我可以使用 & 号引用参数,如下所示:
&1
现在,我在 Windows 中执行此操作,两个第一个参数被“文件”字符串和 glogin.sql 脚本的一些路径覆盖 - 其余参数工作正常。因此,例如当我这样调用 sqlplus 时:
sqlplus -s login/pass@sid @script.sql par1 par2 par3 par4
脚本如下所示:
prompt &1
prompt &2
prompt &3
prompt &4
我得到这个输出:
Files
(x86)\Oracle\product\11.1.0\client_1\\sqlplus\admin\glogin.sql
par3
par4
有什么想法吗?
【问题讨论】:
-
我无法重现您的问题 - 我在 Windows XP、oracle 11gR2 上,并且 4 个参数显示正确。
-
看起来问题出在 dist 上的 sqlplus 路径上 - 它安装在 "C:\Program Files (x86)\Oracle\product\11.1.0\client_1\BIN" 和值&1 和 &2 是路径部分除以空格。仍然不知道我能用这个做什么。
标签: sql windows oracle command-line sqlplus