2

(Я знаю, что это на самом деле не для этого, но я не могу задавать вопросы на Stack Exchange)

Я создаю командный файл и получаю сообщение об ошибке:«sqlcmd» не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

Я знаю, почему мой код неправильный, но не знаю, как это исправить .. У меня нет MYSQL, и я не использую Microsoft SQL Server 2005, я использую SQLyog, и нет sqlcmd, так на что я могу изменить свой код?

Это мой код:

@echo off
cls

set /p SName=Server Name :
set /p UName=User Name : root
set /p Pwd=Password :
set /p DbName=Database Name : test

set /p choice=ARE YOU SURE TO EXECUTE SCRIPTS in %DbName% (y/n) ?

if '%choice%'=='y' goto begin
goto end

:begin
if exist _dataimport.txt del _dataimport.txt

@echo on

sqlcmd -S %SName% -U %UName% -P %Pwd% -d %DbName% -I -i "UDDs"\UDDs.sql >> _dataimport.txt 2>&1



@notepad _dataimport.txt


:end

1 ответ1

3

Предполагая, что вы правильно установили программное обеспечение SQL, если командная строка возвращается с:

(название программного обеспечения) не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.

это означает, что ваше программное обеспечение, вероятно, не помещено в папку, определенную переменной среды %PATH% . С этим последним можно вызывать исполняемые приложения без определения их полного пути. Затем для решения этой проблемы вы можете:

  1. определите полный путь к файлу .exe в вашем пакетном скрипте
  2. или переместите файл .exe в каталог, определенный как %PATH%

Вы можете увидеть список каталогов, определенных этой переменной среды, вызвав команду set из терминала или открыв Control Panel > System > Advanced > Environment Variables

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .