2010-12-16 382 views
3

Est-il possible de créer des fichiers de base de données indépendants de tout moteur SQL Server à la volée? Le fait est que nous voulons créer un fichier de base de données par utilisateur dans notre application, et nous voulons que cette base de données soit stockée dans le répertoire de l'utilisateur, mais nous ne voulons pas nous connecter via SQL Server. Prety un peu comme un fichier sdf, mais au lieu de spécifique à l'application, spécifique à l'utilisateur. Donc, ce que nous voulons faire est que chaque fois qu'un utilisateur est créé dans l'application, générer son dossier, et générer le schéma de base de données, qui sera rempli plus tard.Création de fichiers de base de données SQL Server à la volée avec C#

Répondre

1

Vous pouvez également stocker un fichier de base de données vide et, chaque fois qu'un nouvel utilisateur est créé, faire une copie de ce fichier de base de données vide dans le dossier utilisateur. De cette façon, le schéma sera là à partir du fichier de base de données vide (il est comme un modèle ou une base de données modèle de SQL Server).

+0

J'ai utilisé cette approche. C'est le plus facile. Merci! – Carlo

3

On dirait que vous recherchez SQL Server Compact. Vous pouvez créer n'importe quel nombre de ces bases de données à l'exécution et les placer où vous le souhaitez.

2

On dirait que vous voulez vraiment un combo de "Access" et le moteur Jet. Il répond à la base de données dans une exigence de fichier unique et est raisonnablement performant pour l'accès mono-utilisateur.

Une autre possibilité serait sqlite, qui est IMHO une meilleure base de données, mais le soutien pour C# semble immature.

0

SQL Server Express/Compact avec smo pour créer, par programmation, votre db.