2

J'essaie d'ajouter une procédure stockée à un processus de construction dans Visual Studio (en utilisant MSBuild).Exécution de scripts à partir d'un projet de base de données dans Visual Studio

J'ai un projet de base de données (* .dbp) ajouté à ma solution, mais contrairement à certains autres projets de base de données disponibles dans VS je ne peux pas le construire ou l'exécuter. (Je crois que c'est le fichier de projet que je veux que j'utilise SQL2000)

Comment puis-je obtenir les scripts SQL pour exécuter le projet? Je peux exécuter les scripts en cliquant avec le bouton droit et en appuyant sur Exécuter.

Répondre

2

Les projets de base de données ne sont pas construits comme des projets normaux. Si vous voulez exécuter des scripts dans ce projet, mon conseil serait d'étendre le (s) projet (s) associé (s) compatible (s) MSBuild (csproj, vbproj, etc.) et de référencer/exécuter vos scripts à l'aide de votre outil de choix. La façon dont vous l'implémentez dépend de vous, par exemple, vous pouvez vous connecter à la cible BeforeBuild et exécuter des scripts en utilisant 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 sp renommés, etc entre les versions. Nous voulions également un seul script utilisé par les développeurs, le contrôle qualité et l'installateur pour assurer la cohérence. Notre approche était un outil personnalisé qui permettait des remplacements de jetons/mots-clés dans les scripts, ce qui permet une flexibilité entre les différentes versions de SQL Server et les installations des clients (par exemple utilisateur/login, noms de base de données). ligne de commande, MSBuild, action personnalisée MSI à l'aide de projets Wix ou tout ce dont nous avons besoin pour les exécuter.

1

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

Elles ne peuvent pas être exécutées - elles peuvent être déployées. Lorsque vous déployez, le projet génère, puis déploie. Le code sera déployé avec les scripts de préconstructions et de post-construction et les scripts pré-déploiement et post-déploiement. Par conséquent, si vous souhaitez que les scripts s'exécutent lors de la construction du projet, vous devez vous reporter aux propriétés de pré-construction et de post-construction sous génération dans les propriétés du projet.

Questions connexes