web-dev-qa-db-fra.com

Utilisation de la ligne de commande SQL Server? C'est possible?

J'essaie d'utiliser le SQL Server Management Studio 2008's intégré "Solution Explorateur" pour gérer un projet et après 2 semaines de lutte avec elle, j'ai décidé que je ne m'occupe pas vraiment de cela. C'est des caractéristiques "commodité" sont en réalité un obstacle.

Malheureusement, l'endroit où je travaille est une boutique MS et est jolie de leur manière. Je veux retourner à la ligne de commande (j'ai envie de Vim!). J'ai installé un référentiel de subversion local avec une extrémité frontale de tortuevn pour remplacer l'explorateur "solution" mentionné ci-dessus et le faire fonctionner assez bien. J'ai également installé Vim et tout en travaillant toujours sur la personnalisation, le faire bourdonner.

Cependant, la seule chose que je dois trouver une solution est de savoir comment exécuter des commandes sur SQL Server via la ligne de commande. Je suis habitué à l'invite de la ligne de commande MySQL/Postgres, car c'est ce que j'ai utilisé dans le passé et que j'utilisais en passant dans mes cours. Cependant, je ne peux pas sembler trouver un moyen d'exécuter mes scripts via la ligne de commande sous Windows. Je les édit actuellement dans Vim, rafraîchissez la page dans SSMS et exécutez. Je préférerais ne même pas toucher SMS à moins que nécessaire.

J'ai vu des postes suggérant Sqlsharp, mais quand je suis allé à la page, j'ai le sentiment que ce n'est pas tout ce que je cherche.

--Éditer

Je souhaite vraiment qu'il était possible d'avoir 2 points de contrôle de réponse. P. Campbell a la réponse appropriée technique et je l'ai essayée à quelques reprises (je continue à obtenir une erreur lorsque j'essaye SQLCMD ... dans la recherche de ce que c'est à quel point les pipes nommées fonctionnent ... même si je l'ai mis en place et activé, il ne semble pas fonctionner.)

Après avoir essayé de ne pas avoir de succès, j'ai essayé la copie et coller simplement la méthode du studio de gestion, mais c'était ridicule ... J'ai donc décidé que le code est donc correct aussi.

11
Antiparadigm

Avez-vous considéré SQLCMD?

Voici un article sur tilisation de l'utilitaire de ligne de commande SQLCMD .

Vous pouvez exécuter des instructions Adhoc SQL ou exécuter des scripts .sql.

L'exemple suivant exécute le script C:\myscript.sql de la ligne de commande et génère les requêtes et les résultats à un fichier texte situé à C:\myResults.txt.

C:\Windows>sqlcmd -S NOTTINTRA3\SQL2005 -i C:\MyScript.sql -o c:\MyResults.txt -e

enter image description here

15
p.campbell

Il n'y a rien de mal avec l'ouverture de studio de gestion, en cliquant sur la "nouvelle requête" et en tapant simplement des commandes T-SQL. Vous pouvez le rendre plus compliqué que nécessaire.

7
HardCode

Si vous avez vraiment envie de Vim, envisagez d'utiliser SQLCMD et définir SQLCMDEDITOR=vim Dans votre environnement. Bien sûr, vous devez installer Vim .

Pour les directions complètes, regarde ici

6
Justin Dearing

SQL Server expédie avec un certain nombre d'utilitaires de ligne de commande. SQLCMD est celui qui vous permet d'exécuter des commandes T-SQL directement contre une base de données. Le page MSDN sur les utilitaires est ici , avec des liens de saut à chacun.

En ce qui concerne votre post-scriptum, vous aurez toujours besoin d'un client de base de données de ligne de commande d'une sorte, basé sur Linux, dans ce cas. Je ne sais pas si une telle chose existe. Configuration d'une plate-forme complètement différente pour gérer une base de données avec un paradigme d'interface utilisateur différent (en supposant que c'est ce que vous suggérez) semble que ... Overkill, cependant. :)

2
djacobson

Solution Explorer suce, simple et simple. Et je considère les gars qui ne va pas la plupart de cette merde de bons amis. Il suffit de créer un dossier (il a une bonne personne qu'elle utilise par défaut) et simplement de sauvegarder vos affaires là-bas.

2
mrdenny