PowerShell要求输入值

时间:2018-11-21 19:11:55

标签: sql oracle sqlplus

我有一个尝试使用SQLPlus在PowerShell中运行的测试SQL脚本。脚本的路径如下所示:

@C:\&DI\test.sql

运行此命令时,会提示我

Enter value for di:

如果我输入&DI,则一切正常。我宁愿避免任何提示。我尝试了许多不同的引号组合,但没有任何运气。有人有什么想法吗?

1 个答案:

答案 0 :(得分:4)

您看到的是SQL * Plus提示符,而不是PowerShell提示符。

SQL * Plus默认情况下使用与号来标识substitution variables。当它看到@C:\&DI时,它将寻找一个定义为DI的替代变量,因为找不到变量,ir提示您输入变量。

您可以更改其使用的字符,或仅通过发出以下命令来禁用该功能:

set define off

在您的@运行命令之前。

SQL> @C:\&DI\test.sql
Enter value for di: xyz
SP2-0310: unable to open file "C:\xyz\test.sql"
SQL> set define off
SQL> @C:\&DI\test.sql
SP2-0310: unable to open file "C:\&DI\test.sql"
SQL>

Read more