PowerShell 要求输入值
PowerShell Asking to Enter Value
我有一个测试 SQL 脚本,我正尝试使用 SQLPlus 在 PowerShell 中 运行。脚本的路径如下所示:
@C:\&DI\test.sql
当我运行这个的时候,我得到了提示
Enter value for di:
如果我输入 &DI,一切正常。我宁愿避免任何提示。我尝试了一堆不同的引号组合,但没有任何运气。有人有什么想法吗?
您看到的是 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>
我有一个测试 SQL 脚本,我正尝试使用 SQLPlus 在 PowerShell 中 运行。脚本的路径如下所示:
@C:\&DI\test.sql
当我运行这个的时候,我得到了提示
Enter value for di:
如果我输入 &DI,一切正常。我宁愿避免任何提示。我尝试了一堆不同的引号组合,但没有任何运气。有人有什么想法吗?
您看到的是 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>