IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

MAJ Application C# Sql Server CE


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 22
    Par défaut MAJ Application C# Sql Server CE
    Bonjour à tous,

    J'ai développé une petite application en C# avec Visual Studio 2010 qui utilise Sql Server Ce. On trouve donc à côté de l'exécutable un fichier .sdf.

    Cette application, je dois la fournir à quelques clients. Parfois il faudra que je la mette un jour, et donc que je modifie la structure de la base de données (le fichier .sdf).
    Pour le code de l'application, pas de problème, mais pour modifier la structure de la base de données, c'est plus problématique, car évidemment, les données ne doivent pas être perdues.

    Je réfléchis depuis quelques jours à ce problème, j'ai pensé à ça :

    1) Gérer la version de l'application, et en cas de mise à jour, effectuer les commandes permettant de créer les tables, les colonnes, etc.. Faisable mais pas pratique, et plutôt périlleux.. ça ne me plaît pas trop.

    2) Créer un nouveau fichier sdf et migrer les anciennes données vers ce nouveau fichier. Ca me plaît un peu plus mais pour le moment, à la création du nouveau fichier, ça plante, car il est nécessaire de se connecter en tant qu'administrateur de la machine. Mais peut-être que je m'y prends mal..

    Voilà si quelqu'un a une solution à me proposer, je suis acheteur.

    Merci à ceux qui me liront et qui m'aideront.

  2. #2
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    En quoi ca te gène la première option ?
    Tu fais un système de migration de base, dans ta base tu stock quelque part la version de la base (1.0 par exemple)
    Et dans ton code c# tu crées une classe par migration, dans une migration tu mets ce que tu veux, création de tables, ajout suppression de colonnes, des requêtes de maj…,
    Si ton exe est du 1.9, tu exécutes les migrations de 1.0 jusqu’à 1.9.

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Citation Envoyé par Bibou06 Voir le message
    ça plante, car il est nécessaire de se connecter en tant qu'administrateur de la machine.
    C'est voulu qu'il faut être admin? La BD est situé où?

  4. #4
    Membre averti
    Inscrit en
    Août 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 22
    Par défaut
    Merci beaucoup pour vos réponses.

    @chamamo
    C'est pour moi la solution de secours, ça peut marcher, ce qui m'embête c'est que c'est du CE et à priori on peut faire beaucoup moins de choses qu'avec Sql Server. Je dis à priori car ça m'est arrivé de tomber sur une erreur et quand je vais voir sur la MSDN ils disent simplement que la fonctionnalité n'est pas possible avec CE. Donc je crains de tomber un jour sur une migration impossible.
    Cela dis, ton idée de classe est très bonne, si je pars là-dessus, je ferai comme ça.

    @PatteDePoule
    Absolument pas. Je crois que c'est Windows 7 qui n'autorise pas la création du fichier. Le fichier .sdf il est dans le répertoire de l'application, en fait il y a uniquement 2 fichiers, l'exécutable, et la bdd.

  5. #5
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Citation Envoyé par Bibou06 Voir le message
    Merci beaucoup pour vos réponses.

    @chamamo
    C'est pour moi la solution de secours, ça peut marcher, ce qui m'embête c'est que c'est du CE et à priori on peut faire beaucoup moins de choses qu'avec Sql Server. Je dis à priori car ça m'est arrivé de tomber sur une erreur et quand je vais voir sur la MSDN ils disent simplement que la fonctionnalité n'est pas possible avec CE. Donc je crains de tomber un jour sur une migration impossible.
    Cela dis, ton idée de classe est très bonne, si je pars là-dessus, je ferai comme ça.
    c'est qu'il n'y a pas toutes les fonctionnalités dans la version CE, mais tu ne risques rien, étant donné que tu développes avec la version CE aussi.

  6. #6
    Membre averti
    Inscrit en
    Août 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 22
    Par défaut
    Je vais le tenter comme ça alors.

    Merci à vous.

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Citation Envoyé par Bibou06 Voir le message
    Le fichier .sdf il est dans le répertoire de l'application, en fait il y a uniquement 2 fichiers, l'exécutable, et la bdd.
    Et c'est dans le répertoire des programmes? Si oui, c'est normal que tu n'arrives pas à créer de fichier là-dedans. Il faut plutôt que tu utilises le répertoire AppData.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environment.GetFolderPath(System.Environment.SpecialFolder.CommonApplicationData)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déployer une application Delphi/SQL server
    Par burkan dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/02/2009, 13h27
  2. [C#] Application sans Sql server 2005
    Par Eowyn87 dans le forum C#
    Réponses: 4
    Dernier message: 07/01/2008, 11h01
  3. déploiement d'une application vb6 sql server 2000 en réseau
    Par roumayne dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/07/2007, 10h23
  4. controler le nombre d'installation d'une application [vb6,SQL Server]
    Par josémaria dans le forum Installation, Déploiement et Sécurité
    Réponses: 1
    Dernier message: 20/05/2007, 20h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo