PowerShell просит ввести значение - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть тестовый сценарий SQL, который я пытаюсь запустить в PowerShell с помощью SQLPlus.Путь к сценарию выглядит следующим образом:

@C:\&DI\test.sql

Когда я запускаю это, я получаю приглашение

Enter value for di:

Если я ввожу & DI, все работает.Я бы предпочел избежать любой подсказки.Я пробовал кучу разных комбинаций цитат, но мне не повезло.У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 21 ноября 2018

Вы видите приглашение SQL * Plus, а не приглашение PowerShell.

SQL * Plus использует амперсанд для определения переменных подстановки по умолчанию.Когда он видит @C:\&DI, он ищет определенную переменную подстановки с именем DI, и, поскольку он не находит, он запрашивает ее у вас.

Вы можете изменить используемый символ или просто отключить его.функциональность, но выдача:

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>

Подробнее .

...