none
REmplacement d'une base de données dans un projet c# RRS feed

  • Question

  • Bonjour, 

    Je travaille actuellement sur un projet winform en C#, avec utilisation de base de données ACCESS. 

    Après avoir travaillé un certain temps sur ce projet, j'ai eu besoin d'apporter des modification à ma base (Ajout, surpression de table, modification de type de champs). Ma question est donc la suivante, comment puis-je procéder proprement au remplacement de ma base de données. La nouvelle base de données est créée sous ACCESS.

     

    Merci .

    lundi 10 mai 2010 08:21

Réponses

  • Bonjour,

    Apparement non. Il faudrait comparer le schéma des deux bases de données. Il existe une méthode GetSchema() dans l'objet OleDbConnection vous permettant de récupérer toutes les informations concernant le schéma d'une base de données. Utilisez ces informations pour comparer le schéma des deux bases de données et détecter les changements qui n'ont pas été appliqués.

    Cordialement


    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    • Marqué comme réponse Alex Petrescu vendredi 14 mai 2010 14:22
    jeudi 13 mai 2010 18:15
    Modérateur

Toutes les réponses

  • Bonjour Siro1,

    La question est plutôt large :-(

    Avant de partir dans la migration il est préférable de commencer par isoler les accès à la base de donnée afin de déterminer :

    • Les éventuels codes spécifique à Acces (SQL un peu particulier).
    • Les controls éventuellement connectés à la base.
    • Les connexions à la base Acces.
    Le plus propre si on se base sur l'utilisation de requêtes SQL est de créer un classe dédiée à l'emploi des données et d'isoler le code spécifique à la base. Après quand cela est fait i suffit de migrer le code spécifique et la connexion vers la nouvelle base ;-)


    Jérémy Jeanson MCP http://blogs.codes-sources.com/JeremyJeanson/ (French or English Spoken)
    lundi 10 mai 2010 09:37
  • Bonjour,

    Vous avez la possibilité il me semble dans Access, d'exécuter un script contenant des instructions permettant la modification de la structure de votre base de données (cf. ALTER TABLE, ...etc). A vous de faire ce script et de l'exécuter sur la base en production.

    Cordialement


    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    lundi 10 mai 2010 11:15
    Modérateur
  • Bonjour, 

    J'aimerais vous apporter plus de précisions au sujet de mon problème. Mon souci réside plutôt dans l'intégration de la nouvelle base de données. La base de données actuel utilise des dataset, tableadaptator,etc...

    Quand je supprime cette base de mon projet , et que j'importe la nouvelle base, cette dernière est en conflit avec l'ancienne. 

    Exemple: 

    -table PERSONNEL : id_pers , nom_pers , prenom_pers 

    modification : surpression du champ prenom_pers

     

    lors d'une insertion de données, la fonction insert me demande toujours 3 paramètres alors qu'elle devrait m'en demander 2 (id_pers et nom_pers).

    même chose pour la modification de type de champ, un champ qui été de type entier a été modifié pour être de type String; les fonctions utilisant ce champ demandent une variable de type entier alors qu'ils devraient demander une variable de type String.

     

    Ma conclusion : la migration ne s'est pas faite proprement.

    Comment procéder  ?

    Merci d'avoir prêté attention à mon problème.

     

    Codialement  

    lundi 10 mai 2010 14:51
  • Bonjour,

     

    Avant d’exécuter l’import, vos deux bases de données, l’ancienne et la nouvelle, avaient-elles exactement les mêmes structures ?

     

    Cordialement,

    Alex


    Appel à contribution ! http://social.msdn.microsoft.com/Forums/fr-FR/vbasicfr/thread/bd974e0e-5519-4122-b8fc-3b998207c34f
    mercredi 12 mai 2010 08:39
  • Bonjour,

    Apparement non. Il faudrait comparer le schéma des deux bases de données. Il existe une méthode GetSchema() dans l'objet OleDbConnection vous permettant de récupérer toutes les informations concernant le schéma d'une base de données. Utilisez ces informations pour comparer le schéma des deux bases de données et détecter les changements qui n'ont pas été appliqués.

    Cordialement


    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    • Marqué comme réponse Alex Petrescu vendredi 14 mai 2010 14:22
    jeudi 13 mai 2010 18:15
    Modérateur