2008-11-14 5 views
2

J'essaie d'automatiser complètement mes builds et une partie de celui-ci applique des scripts SQL à SQL Server.
J'ai créé un fichier de commandes qui appelle l'utilitaire SQL Server (OSQL.EXE) pour appliquer des scripts et cela fonctionne si je l'appelle directement sur le serveur SQL.
Mais je ne peux pas l'utiliser sur mon ordinateur de build car SQL Server n'est pas installé.Comment appliquer des scripts SQL sur un serveur SQL Server distant?

Est-il possible de démarrer mon lot sur la machine distante à partir de ma machine de construction?
Existe-t-il une autre solution à ce problème?

Répondre

2

installer uniquement Sql Server Client

  • Microsoft SQL Server 2005 Management Objects Collection: et vous pouvez l'utiliser pour exécuter des scripts ou quoi que ce soit d'autre de C#. afin que vous puissiez créer un projet qui fait les choses avec SMO et l'utiliser dans votre configuration de construction.

  • Utilitaire de requête de ligne de commande Microsoft SQL Server 2005: installe uniquement SQLCMD et effectue des tâches avec.

0

Pour utiliser osql, vous devez installer SQL Server, mais vous pouvez utiliser une autre méthode d'accès aux données pour communiquer à partir de l'ordinateur distant vers l'ordinateur SQL Server. Par exemple, vous pourriez avoir un script .VBS utiliser ADO.

0

Deux idées:

  1. Avez-vous essayé de copier Osql.exe et installer le client des bibliothèques SQL Server sur votre machine de construction? Je ne l'ai pas mais je pense que ça vaut le coup d'essayer.

  2. Écrire un programme qui connecte et alimente les données, ne devrait pas être trop difficile. Lit le code SQL d'un fichier et le transmet au SQL Server spécifié.

+0

Si je devais copier osql.exe à ma machine de construction, ce ne serait pas la violation des droits d'auteur? –

+0

Oh, je n'ai aucune idée à ce sujet, bon point –

2

Vous pouvez installer SQLExpress sur votre machine client gratuitement et utiliser sqlcmd.exe, qui est un équivalent d'outils de osql et isql sur MSSQLServer.

+0

Et puis? . . . . – Jerome

Questions connexes