Question

J'ai une application WinForm construite avec VS 2008 (C #) et SQL Server Express 2008 qui est actuellement déployée sur le PC de l'utilisateur test.

J'ai des modifications à apporter à la structure de la base de données (ajout de champs, de tables, etc.) et je me demande quelle est la meilleure méthode pour distribuer les modifications sur le PC des utilisateurs (sans perdre les données des utilisateurs).

D'après ce que j'ai appris jusqu'à présent, il me faudra écrire les modifications dans un fichier de script. Mais quelle est la meilleure méthode pour distribuer les fichiers de script sans les exécuter manuellement dans SQL Server Management Studio? Y a-t-il une méthode de distribution automatique que vous suggérez? Dois-je écrire ma propre application de mise à jour?

J'utilise actuellement ClickOnce pour distribuer les modifications dans le fichier EXE. ClickOnce est-il toujours une solution viable lorsque vous devez modifier la base de données avec la nouvelle version?

TIA

Était-ce utile?

La solution

Il existe de nombreuses façons de le faire, soit de construire votre propre version d'origine (par exemple, nous sommes en train de conditionner les scripts de modification de base de données dans une DLL sous forme de ressources incorporées, et de disposer d'un moteur qui les exécutera sur la machine cliente. au moment de l’installation et / ou de la mise à jour), ou vous pouvez consulter des produits .NET déjà disponibles, tels que Red-Gate SQL Packager qui peut vous faire économiser beaucoup de temps et d’efforts.

Autres conseils

Vous pouvez écrire votre application au démarrage pour lire un fichier de script à partir du dossier de l'application et l'exécuter. Vous pouvez demander au script de mettre à jour une valeur dans la base de données une fois que c'est fait pour l'empêcher d'être réexécutée.

Vous pouvez déployer le nouveau fichier de script en tant que contenu et l'application l'exécutera au prochain démarrage, en mettant à niveau votre base de données

.

Vous pouvez appeler osql ou sqlcmd fourni avec MSSQL.

Vous pouvez également utiliser SMO pour exécuter vos scripts de modification de base de données. Voir ce blog comment ça se passe.

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