Pouvez .fichier bat exécuter une requête sql et retourne une valeur?
Comment puis-je appeler une requête à partir d'une .fichier bat? (dire que ma requête est: sélectionnez la version du système).
Pouvez mon .fichier bat enregistrer la sortie cette requête retourne? Je veux utiliser cette sortie dans mon script NSIS.
Vous devez vous connecter pour publier un commentaire.
Pour Oracle:
Comment puis-je émettre une seule commande à partir de la ligne de commande par l'intermédiaire de sql plus?
Vous pouvez rediriger la sortie vers un fichier et l'utiliser, ou de conclure dans un
for
de commande pour analyser la sortie dans un fichier batch.EDIT: Cette réponse est pour SQL Serveur, Oracle. (Il n'était pas immédiatement clair, lorsque la question a été posté).
Vous voudrez peut-être vérifier la sqlcmd utilitaire.
L'utilitaire sqlcmd vous permet d'entrer des instructions Transact-SQL, procédures du système et des fichiers de script à l'invite de commande. L'exemple suivant exécute une requête lorsque sqlcmd démarre puis se ferme immédiatement. Plusieurs points-virgules requêtes peuvent être exécutées:
Pour enregistrer le résultat de la requête dans un fichier, vous pouvez utiliser le
-o C:\< filename>
option.Cela dépend de quel outil que vous utilisez pour exécuter des requêtes. Par exemple, pour la ligne de commande mysql, vous feriez:
Ici, la pièce qui va
mysql -u<user> -p<password> -h<host>
sont les options standard pour se connecter au serveur.-Nrs
sont un ensemble d'options qui permet au client de ne pas sortir tout l'art ascii pour les résultats. Le peu qui va-e"SELECT version() FROM system"
fait spécifie la commande qui doit être exécutée. Voir http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html pour plus d'info sur ceux mysql options spécifiques. Recherchez des options similaires dans le client de l'outil que vous souhaitez utiliser.Le dernier bit,
> out.txt
est un système d'exploitation standard au niveau de la redirection. Il sera la cause de la sortie à venir de la mysql programme pour être stockées dans un fichierout.txt
, mais peut-être vous pouvez rediriger directement à votre INS programme ainsi.Essayer
où requête.sql contient la requête de base de données et result.txt sera rempli avec la sortie de la requête.
Selon la requête, le fichier de sortie peut-être pas comme vous l'attendez (en-têtes de colonne, etc comme typique de sqlplus), de sorte que votre requête.sql doit contenir un ENSEMBLE de commandes pour régler la sortie à vos besoins.
Une autre méthode consiste à utiliser l'Oracle de BOBINE de commande au lieu de la tuyauterie le résultat dans un fichier.
Essayez ceci:
http://www.dbforums.com/oracle/1044496-sqlplus-return-value-help.html
Si vous avez une ligne de commande SQL utilitaire, que très probablement, il permet à des opérations de ligne de commande. En fonction de votre SQL-version vous pouvez vérifier.