Bonjour,

Lorsque je lance une requête sql depuis mon bat, je n'arrive pas é récupérer le résultats dans une variable.
Avez-vous une solution.
Merci d'avance.

La fenêtre se ferme toute seul en moins d'une seconde :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
for /f %%a in ('sqlcmd -S NOMSERVEUR -d MABASE -U MONID -P MONPW -Q "SELECT COUNT(ARKTCODART) FROM ARTICLE"')
do set ColumnVar=%%a
echo %ColumnVar%
pause
Si je met sur une seul ligne le résultat s'affiche mais la variable %a% renvoi rien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
for /f %%a in ('sqlcmd -S NOMSERVEUR -d MABASE -U MONID -P MONPW -Q "SELECT COUNT(ARKTCODART) FROM ARTICLE WHERE  ARKTSOC ='100'"') do echo %%a ARTICLES
echo %a%
Autre test qui fonctionne vers un fichier txt : Avec la requête dans un fichier *.sql

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
set MonFichier=C:\MyFolder\MyOutput.txt
set Provider=-S NOMSERVEUR -d MABASE -U MONID -P MONPW -i C:\MyFolder\SQLQuery1.sql -o "%MonFichier%" 
sqlcmd %Provider%
pause
Le fichier SQLQuery1.sql :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT COUNT([ARKTCODART])
  FROM [TEST_V15].[dbo].[ARTICLE]
GO