'sqlcmd' não é reconhecido como um comando interno ou externo

2

(Eu sei que isso não é para ser feito aqui, mas não posso fazer perguntas sobre o Stack Exchange)

Estou criando um arquivo de lote e recebo esta mensagem de erro: 'sqlcmd' não é reconhecido como um comando interno ou externo, programa operável ou arquivo de lote.

Eu sei porque meu código está errado, mas não sei como consertá-lo .. Eu não tenho MYSQL e não estou usando o Microsoft SQL server 2005, estou usando SQLyog e não há sqlcmd, então para que eu mudo meu código?

Este é o meu código:

@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
    
por SomeAmbigiousUserName 26.08.2014 / 16:32

1 resposta

3

Supondo que você tenha instalado corretamente seus softwares SQL, se o prompt de comando retornar com:

(name of the software) is not recognized as an internal or external command, operable program or batch file.

Isso significa que seu software provavelmente não é colocado na pasta definida pela variável de ambiente %PATH% . Com este último, é possível recuperar aplicativos executáveis sem definir seu caminho completo. Então, para resolver esse problema, você pode:

  1. defina o caminho completo para o arquivo .exe no seu script em lote
  2. ou mova o arquivo .exe para o diretório definido por %PATH%

Você pode ver a lista dos diretórios definidos por esta variável de ambiente invocando o comando set do terminal ou abrindo Control Panel > System > Advanced > Environment Variables

    
por 26.08.2014 / 21:51

Tags