SQL * plus не токенизирует свои аргументы командной строки должным образом, если путь к программе содержит пробелы

Я использую SQL * Plus со следующей командной строкой:

sqlplus user/pw@TNS @test.sql foo

Далее следует содержимое test.sql :

SET VERIFY ON
DEFINE argone='&&1'
SELECT '&argone' FROM dual;
EXIT SQL.sqlcode

Результаты:

  • Когда исполняемый файл SQL * Plus находится в C : \ Program Files \ Oracle Client \ something \ sqlplus.exe , тогда && 1 оценивается как Files \ Oracle .
  • Когда исполняемый файл SQL * Plus находится в C: \ Oracle \ Client \ 10.2.xx \ bin , тогда && 1 оценивается как foo .

Сталкивался ли кто-нибудь с этой проблемой и мог ли ее обойти?

6
задан Benoit 19 September 2011 в 12:13
поделиться