У меня есть загрузчик, который объединяет следующие компоненты:
SQL Server 2008 R2 -> Пакетный файл инициализации базы данных -> MSI продукта
SQL Server устанавливается без вывода сообщений с использованиемфайл Configuration.INI.Там нет проблем.
Проблема заключается в пакетном файле инициализации БД.Пакетные файлы вызывают две команды OSQL, передавая файл .SQL (с помощью флага -i) для удаления базы данных и создания базы данных.
Когда я отображаю% ERRORLEVEL% сразу после вызовадля OSQL уровень ошибки составляет 9009 .У меня есть Google, но никаких значимых результатов не получилось.
Я перезапускаю службу (MSSQL $ SQLExpress) после установки SQL 2008, просто чтобы быть уверенным.
Вот странная часть.Если я запускаю установку SQL Server 2008 до запуска загрузчика, он работает нормально.Я не сделал ничего особенного, я просто установил его (без перезагрузки и т. Д.).
Кроме того, если на компьютере уже установлен SQL 2008, загрузчик пропустит установку SQL 2008 и перейдет прямо кИнициализация БД.В этом случае БД будет успешно инициализирована.
Любые предложения о том, как действовать?
РЕДАКТИРОВАТЬ
После изучения этого, янашел это:
Интерпретатор команд (командная строка) устанавливает ERRORLEVEL 9009, когда пакет пытается выполнить программу, которая не найдена.
Итак, почему SQLCMD небыть найденным?Кстати, я вызываю команду SQLCMD в командном файле так:
SQLCMD -S <> -E -I <>