sqlcmd.exe зависает после запуска оператора sql в пакете inno - PullRequest
0 голосов
/ 18 октября 2011

Я пишу установочный пакет, используя inno для ms sql скрипт.У меня есть следующий код:

  strParam := '-U hel -P password -S ServerName -d test -Q "sp_test"';
  try
     Exec('sqlcmd.exe', strParam, '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
     result := ResultCode = 0;
  except
     Exec('osql.exe', strParam, '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
     result := ResultCode = 0;
  end;

Sp выполняется нормально, но черный экран с sqlcmd.exe висит, пока я не наберу выход или не закрою его.Я хочу, чтобы окно с sqlcmd.exe было закрыто после запуска sp.

Ответы [ 2 ]

0 голосов
/ 22 апреля 2013

Я столкнулся с этим сегодня. Я ответил, что у меня много разных версий команд SQL и программных файлов SQL. Я взял одну инструкцию пути для более старой версии, и она начала работать

0 голосов
/ 20 октября 2011

Похоже, вы сначала пытаетесь использовать sqlcmd, а затем используете osql в качестве резервной копии, если выбрасывает Exec. Документация подсказывает мне, что это не будет работать вообще; вам нужно if not Exec('sqlcmd', ...) then вместо

Кроме того, мы используем osql исключительно для наших обновлений sql, и никогда не возникало проблем с его прекращением. Если у вас нет веских причин для инвестиций в две отдельные программы обновления SQL, просто используйте ту, которая работает лучше. Если это будет osql, пусть будет так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...