2009-05-27 5 views
1

Je souhaite souvent envoyer des exemples d'applications à des amis & qui fonctionne avec une base de données.Ajout d'une base de données dans un projet exemple .zip ou svn repository

Pour les projets réels, je voudrais inclure dans le référentiel quelque chose permettant aux utilisateurs de recréer la base de données rapidement, pour éviter d'avoir à attendre que le serveur X soit encore là dans quelques années. Je ne suis pas très bon avec MS SQL Server Management Studio, donc je me demande quel est le processus le plus simple et le plus rapide pour obtenir une base de données MS SQL 2005+ dans un fichier qui est aussi très facile à "décompresser" dans une vraie base de données.

L'objectif final est de permettre à l'autre personne de faire fonctionner l'application pilotée par base de données aussi rapidement que possible.

J'aime vraiment le .exe qui ajoute les tables d'adhésion .Net à une base de données de votre choix. Vraiment facile à utiliser. Y at-il des outils disponibles qui peuvent faire quelque chose comme ça?

Autre option que je connais est un fichier .bak mais je ne trouve pas cela particulièrement facile à construire/déballer. (nécessite trop d'étapes comme le démarrage de sql server management studio)

Répondre

2

Je suis un grand fan du Microsoft SQL Server Database Publishing Wizard 1.1. Cette application vous permet d'utiliser une interface utilisateur simple pour sélectionner une base de données souhaitée. Il convertit ensuite la base de données entière, à la fois sa structure et ses données, en un fichier texte SQL. L'utilisateur final a seulement besoin d'exécuter le fichier dans une base de données vide pour tout recréer.

Cette méthode est intéressante, car elle peut être utilisée dans des environnements où les utilisateurs n'ont pas directement accès au serveur pour joindre des fichiers mdf.

+1

Cela ressemble exactement à ce que je cherchais! Il est apparemment même intégré dans VS2008!Vous pouvez simplement cliquer avec le bouton droit sur une base de données dans l'explorateur de serveur et cliquer sur "Publier vers ..." et l'assistant de publication démarre! Merci beaucoup! –

1

Pour SQL Server, la méthode la plus rapide consiste à détacher la base de données, à la compresser et à la rattacher au serveur cible. La sauvegarde et la restauration nécessitent quelques clics de plus.

Si vous utilisez SQL Compact 3.5, vous n'avez rien à faire: la base de données n'est qu'un seul fichier déployé avec l'application. Cependant, la fonctionnalité dans Compact est très limitée, ce qui peut ne pas être une option dans tous les scénarios.

+0

Quel est le point exact de détacher la base de données? –

1

Si vous fournissez les fichiers mdf et ldf de la base de données, vous pouvez exécuter une commande Attach d'une ligne.

Si vous n'avez pas besoin de beaucoup de DB, vous pouvez essayer SQL CE qui est un moteur sans installation (il suffit d'inclure les assemblys) et votre base de données serait un seul fichier.

1

Absolument le plus simple pour l'utilisateur final (plutôt que pour vous) est d'inclure toute la base de données comme une édition compacte du serveur SQL. Vous pouvez même le faire sans installation locale (en plaçant la DLL correspondante dans le chemin bin privé de l'application), donc il n'y a aucun effort.

S'ils souhaitent modifier la base de données en dehors de votre application, les outils de serveur sql normaux peuvent le faire.

+0

intéressant, mais la plupart de mes échantillons contiennent linq-to-sql donc ce serait trop un problème je suppose. –

+1

La dernière version supporte linq to sql. il a quelques limitations gênantes (max varchar lngths, seulement nchar etc) mais le bloqueur principal serait stocké procédures qui ne sont pas pris en charge – ShuggyCoUk

+0

comme je l'ai dit c'est un faible effort pour l'utilisateur final pas vous :) – ShuggyCoUk

Questions connexes