2009-03-05 8 views
3

Je voudrais trouver un moyen de créer et de remplir une base de données pendant l'installation d'asp.net.Comment créer une base de données et la remplir lors de l'installation

Alors, ce que je suis prêt à faire est:

  1. Créer la base de données lors de la configuration
  2. Peupler la base de données avec des données initiales (codes pays ou quelque chose comme ça)
  3. Créer la chaîne de connexion appropriée dans le fichier de configuration

J'utilise .NET 3.5 et Visual studio 2005 , et la base de données SQL est Ser ver 2005.

Merci d'avance.

Répondre

3

Si vous créez un installateur, je suis sûr qu'il y a un moyen de le faire, mais je ne suis pas très familier avec ça.

Sinon, ce que vous pourriez faire est le suivant.

  1. Ajoutez un gestionnaire application_start dans Global.asax, vérifiez la chaîne de connexion valide, si elle n'existe pas, passez à l'étape deux.
  2. Connectez-vous au serveur à l'aide d'une chaîne de connexion par défaut
  3. Exécutez les scripts nécessaires pour créer la base de données et les objets nécessaires.
  4. Mettre à jour le web.config avec les informations de connexion

La clé est de déterminer ce que la chaîne de connexion « par défaut » est ici. Peut-être une deuxième valeur de configuration.

2

Généralement, vous aurez besoin de scripts SQL pour cela. J'ai tendance à le faire de toute façon, car cela rend la maintenance et la version de la base de données beaucoup plus facile à long terme. L'idée de base est, lors de l'exécution du programme d'installation, vous aurez une action personnalisée pour exécuter ce script. L'utilisateur exécutant votre configuration aura besoin des autorisations à:

  • Créer une base de données
  • Créer des tables et d'autres objets de niveau de base de données dans la base de données nouvellement créée
  • données POPULATE

Vos scripts prenez soin de tout cela, cependant. Vous aurez une commande CREATE DATABASE, les commandes appropriées CREATE SCHEMA, CREATE TABLE, CREATE VIEW, etc., et après la construction du schéma, les instructions INSERT appropriées pour remplir les données.

je romps normalement cela en plusieurs scripts, mais YMMV:

  • Créer script de schéma
  • "scripts communs" (un pour l'équivalent de aspnet_regsql pour des projets web, un avec la création de l'Enterprise Library tables forestières et procs)
  • Créer script procédure stockée, si nécessaire (à exécuter après le schéma créé de)
  • Peupler script données initiales

Pour la future maintenance, je crée des scripts de mise à niveau dans lesquels un seul script gère généralement tout le processus de mise à niveau.

Lors de l'écriture des scripts, veillez à utiliser les contrôles de sécurité appropriés (IF EXISTS, etc.) avant de créer des objets. Et j'ai tendance à rendre le mien transactionnel, aussi bien.

Bonne chance!

1

Si vous pouvez utiliser Linq pour Sql, c'est facile.
Il vous suffit d'importer la totalité de votre base de données dans le concepteur Linq to Sql. Cela créera des objets qui décrivent tous les objets de votre base de données, y compris la classe dérivée System.Data.Linq.DataContext qui encapsule l'ensemble de la configuration de base de données.

Vous pouvez maintenant appeler DataContext.CreateDatabase() pour créer la base de données.

See here more information.

Questions connexes