à l'aide de l'utilitaire sqlcmd dans le fichier de commandes
J'ai écumé StackOverflow pour quelques heures, et essayé différentes suggestions pour de même posé des questions, mais rien passé correctement les paramètres jusqu'à présent (les guillemets doubles, ^
).
Voici la version courte de celui-ci:
@echo off
cd C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC0\Tools\Binn\
start /w "sqlcmd" sqlcmd.exe -S DBserverName -U username -P p@ssword -i C:\query.sql -s"," | findstr /V /C:"-" /B >c:\output.csv
Fondamentalement, je veux passer une assez longue paramètre contenant des séparateurs. Mais la seule façon que je vois ça arriver est d'utiliser des arguments. J'aimerais le garder aussi simple que possible. Est-ce le seul recours? Pouvez-vous donner un exemple de comment cela pourrait fonctionner?
Merci d'avance.
- j'ai oublié de mentionner l'évidence: à partir de la ligne de commande, l'utilitaire sqlcmd exécutable avec les paramètres fonctionne très bien.
- pourriez-vous expliquer clairement, ce qui ne va pas?
- Endoro, dbenham a répondu avec des commentaires sur mon simple surveillance.
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas si ça compte, mais je pense qu'il devrait y avoir un espace entre
-s
et","
Mais plus important encore, votre tuyau de construire est faux. Votre commande sqlcmd est en cours d'exécution dans une nouvelle fenêtre, mais votre tuyau est à la recherche pour la sortie de la commande de DÉMARRAGE dans la fenêtre d'origine et il n'est pas tout.
Vous pourriez obtenir votre commande fonctionne par s'échapper de la pipe et de la redirection.
Mais il n'est pas nécessaire d'utiliser de COMMENCER à tous. Votre script peut simplement exécuter l'utilitaire sqlcmd directement, et tout est beaucoup plus simple.
Vous pouvez également avoir des problèmes avec votre mot de passe, en fonction de quels caractères sont utilisés. Vous pourriez avoir à citer et/ou de fuir le mot de passe, et sqlcmd.exe pourrait avoir son propre échapper à des règles. Si c'est le cas, vous pourriez avoir à vous soucier de s'échapper pour les deux cmd.exe et sqlcmd.exe.
Cette ligne doit avoir des guillemets autour du chemin d'accès complet, dans certains cas, c'est important.
cd C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\
et la commande de démarrage des besoins des guillemets au début parce qu'il prend le premier jeu que le titre de la fenêtre.