sqlcmd - récupérer le résultat dans une variable
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:
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:
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:
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:
1 2 3
| SELECT COUNT([ARKTCODART])
FROM [TEST_V15].[dbo].[ARTICLE]
GO |