Question

J'essaie d'ajouter des procédures stockées à un processus de construction dans Visual Studio (à l'aide de MSBuild).

Un projet de base de données (* .dbp) a été ajouté à ma solution. Cependant, contrairement à certains autres projets de base de données disponibles dans VS, je ne peux ni le construire ni le lancer. (Je crois que c'est le fichier de projet que je veux car j'utilise SQL2000)

Comment puis-je exécuter les scripts SQL pendant la construction du projet? Je peux exécuter les scripts en cliquant avec le bouton droit de la souris et en appuyant sur Exécuter.

Était-ce utile?

La solution

Les projets de base de données ne sont pas construits comme des projets normaux. Si vous souhaitez exécuter des scripts dans ce projet, mon conseil est d’étendre les projets associés compatibles avec MSBuild (csproj, vbproj, etc.) et de référencer / exécuter vos scripts à partir de là en utilisant l’outil de votre choix.

Par exemple, vous pouvez implémenter la manière dont vous l'implémentez, vous pouvez vous connecter à BeforeBuild cible et exécute des scripts à l'aide de la tâche SqlExecute .

FWIW, nous devons prendre en charge SQL Server 2000, 2005, 2008+, de sorte que la tâche devient beaucoup plus difficile. pense NVarchar (max) (2005+) vs NText (2000+) plus tous les renommage sp, etc. entre versions. Nous voulions également un seul script utilisé par les développeurs, le contrôle de la qualité et le programme d’installation pour assurer la cohérence. Notre approche consistait donc en un outil personnalisé autorisant le remplacement de mots-clés / mot-clé dans les scripts, offrant une flexibilité entre les différentes versions de SQL Server et les installations des clients (informations de connexion / utilisateur, noms de bases de données, etc.), ainsi qu'une intégration dans diverses technologies permettant aux scripts de s'exécuter ligne de commande, MSBuild, action personnalisée MSI utilisant des projets Wix, ou ce dont nous avons besoin pour qu'ils fonctionnent.

Autres conseils

Les projets de base de données peuvent être construits.

Ils ne peuvent pas être exécutés - ils peuvent être déployés.

Lorsque vous déployez, le projet se construit puis se déploie. Le code sera déployé avec les scripts de pré-génération et de post-génération et les scripts de pré-déploiement et de post-déploiement.

Par conséquent, si vous souhaitez que les scripts soient exécutés au fur et à mesure que vous CONSTRUISEZ le projet, vous souhaitez consulter les propriétés de pré-construction et de post-construction sous Evénements de construction dans les propriétés du projet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top