Ошибка сборки mvn из-за ошибки, «sqlcmd» не распознан. - PullRequest
0 голосов
/ 27 апреля 2018

Я использовал mvn, инструмент для сборки, чтобы построить свой проект. мой sql сервер MSSQL2017. но когда я, собрал проект, это не удалось, учитывая, как эта ошибка. нужна некоторая помощь, чтобы это исправить.

    [INFO] Creating database: DatabaseConfiguration[host=CWLK-UMAYANGA,port=1433,user=spider3,password=********,catalog=schema-export_180427_083129335
[DEBUG] Executing: cmd.exe /X /C "sqlcmd -S tcp:CWLK-UMAYANGA,1433 -d master -U spider3 -P spider3 -I -r -Q "DECLARE @data_path nvarchar(256);SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)FROM master.sys.master_files WHERE database_id = 1 AND file_id = 1);EXEC ('CREATE DATABASE [schema-export_180427_083129335] ON ( NAME = MAIN, FILENAME = ''' + @data_path + 'schema-export_180427_083129335.mdf'', SIZE = 5MB ) LOG ON ( NAME = LOG, FILENAME = ''' + @data_path + 'schema-export_180427_083129335.ldf'', SIZE = 1MB)')""
'sqlcmd' is not recognized as an internal or external command,
operable program or batch file.
[ERROR] The following errors occured during execution:
[ERROR] 'sqlcmd' is not recognized as an internal or external command,
[ERROR] operable program or batch file.
[DEBUG] Received event (class org.apache.maven.lifecycle.internal.DefaultExecutionEvent): org.apache.maven.lifecycle.internal.DefaultExecutionEvent@638e271a

Я набираю этот запрос {"sqlcmd -S tcp:CWLK-UMAYANGA,1433 -d master -U spider3 -P spider3 -I -r -Q "DECLARE @data_path nvarchar(256);SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)FROM master.sys.master_files WHERE database_id = 1 AND file_id = 1);EXEC ('CREATE DATABASE [schema-export_180427_083129335] ON ( NAME = MAIN, FILENAME = ''' + @data_path + 'schema-export_180427_083129335.mdf'', SIZE = 5MB ) LOG ON ( NAME = LOG, FILENAME = ''' + @data_path + 'schema-export_180427_083129335.ldf'', SIZE = 1MB)')"} в командной строке, он выглядит следующим образом и ничего не выдает сообщение об ошибке.

enter image description here

1 Ответ

0 голосов
/ 27 апреля 2018

Сообщение об ошибке означает, что он не может найти sqlcmd ни в одной из папок в переменной «Path» среды для пользователя, который выполняет сборку как.

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

Если это не помогает, то либо укажите полный путь к sqlcmd в вашей сборке, либо измените переменную среды «Путь», чтобы этот пользователь включал папку, содержащую sqlcmd.

Вы можете добавить cmd.exe "set path" в вашу сборку, чтобы она отображала значение в переменной пути.

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