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 :

Sauvegarde BDD MySql avec vue


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Par défaut Sauvegarde BDD MySql avec vue
    Salut à toutes et à tous,

    Voilà j'ai réalisé une application en lien avec une BDD MySql. Dans mon application il y a une form "Sauve_DB_MySQL.cs" qui me permet de sauvegarder ou de restauré ma BDD en cas de pépin sur cette dernière sur un simple click bouton.

    Les deux actions (sauvegarde et restaure) fonctionnent très bien. Le seul petit HIC c'est que lorsque je clique sur le bouton sauvegarde il m'exporte bien toute les tables de la BDD (au format sql) mais sans la vue (oui j'ai une vue dans ma BDD).

    Ma question : Comment exporter ma BDD en incluant les vues ?


    Voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using MySql.Data.MySqlClient;
     
    namespace Gestion_des_produits
    {
        public partial class Sauve_DB_MySQL : Form
        {
            //Déclaaration des variables.
            DialogResult resultat;
     
            //********************//
            //*** CONSTRUCTEUR ***//
            //********************//
            public Sauve_DB_MySQL()
            {
                InitializeComponent();
            }
     
            //*************************************************************//
            //*** ÉVÉNEMENT CLICK - sur clique du bouton "btn_save_BDD" ***//
            //*************************************************************//
            private void btn_save_BDD_Click(object sender, EventArgs e)
            {
                //MessageBox YesNo - Confirme la demande d'action. 
                resultat = MessageBox.Show("Attention, vous allez sauvegarder votre base de donnée MySql. Voulez-vous confirmer ce choix ?", "Demande de confirmation sauvegarde", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2);
     
                //Vérification YesNo - Vérifie si l'utilisateur à confirmé son action.
                if (resultat == DialogResult.Yes)
                {
                    try
                    {
                        //Déclaration de la variable (constr) et affectation de la valeur de connection au serveur MySql.
                        string constr = Properties.Settings.Default.MyConnectionProduit;
     
                        //Déclaration de la variable (file) et affectation de la valeur du chemin d'enregistrement du fichier.
                        string file = "C:\\Users\\" + Environment.UserName + "\\Desktop\\Base_de_donnee_m_ayoube_be.sql";
     
                        //Création de l'objet (mb) de type MySqlBackup avec pour paramètre la connection au serveur MySql.
                        MySqlBackup mb = new MySqlBackup(constr);
     
                        //Exportation de la base de donnée vers le chemin spécifié.
                        mb.ExportInfo.FileName = file;
                        mb.Export();
     
                        //MessageBox - Affiche sauvegarde avec succes.
                        MessageBox.Show("La sauvegarde de la base de donnée à bien était effectué.");
                    }
                    catch
                    {
                        //MessageBox - Affiche erreur.
                        MessageBox.Show("Une erreur est survenu lors de la sauvegarde de la base de donnée.");
                    }
                }
                //Vérification YesNo - FIN
            }
     
            //*************************************************************//
            //*** ÉVÉNEMENT CLICK - sur clique du bouton "btn_restaure_BDD" ***//
            //*************************************************************//
            private void btn_restaure_BDD_Click(object sender, EventArgs e)
            {
                //MessageBox YesNo - Confirme la demande d'action. 
                resultat = MessageBox.Show("Attention, vous allez restaurer votre base de donnée MySql. Voulez-vous confirmer ce choix ?", "Demande de confirmation restauration", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2);
     
                //Vérification YesNo - Vérifie si l'utilisateur à confirmé son action.
                if (resultat == DialogResult.Yes)
                {
                    //Création de l'objet (obj_img_file) de type (OpenFileDialog).
                    OpenFileDialog obj_BDD_file = new OpenFileDialog();
     
                    //Filtrer les extentions images autorisé.
                    obj_BDD_file.Filter = "Image file|*.sql";
     
                    //Chemin par défaut lors de l'ouverture de la box pour selectionner une image. 
                    obj_BDD_file.InitialDirectory = "Desktop";
     
                    //Titre de la box pour selectionner une image.
                    obj_BDD_file.Title = "Selectionnez votre fichier : Base_de_donnee_m_ayoube_be.sql !";
     
                    //Vérification ShowDialog - Si selection fichier.
                    if (obj_BDD_file.ShowDialog() == DialogResult.OK)
                    {
                        try
                        {
                            //Déclaration de la variable (constr) et affectation de la valeur de connection au serveur MySql.
                            string constr = Properties.Settings.Default.MyConnectionProduit;
     
                            //Déclaration de la variable (file) et affectation de la valeur du chemin d'enregistrement du fichier.
                            string file = obj_BDD_file.FileName;
     
                            //Création de l'objet (mb) de type MySqlBackup avec pour paramètre la connection au serveur MySql.
                            MySqlBackup mb = new MySqlBackup(constr);
     
                            //Exportation de la base de donnée vers le chemin spécifié.
                            mb.ImportInfo.FileName = file;
                            mb.Import();
     
                            //MessageBox - Affiche sauvegarde avec succes.
                            MessageBox.Show("La restauration de la base de donnée à bien était effectué.");
                        }
                        catch
                        {
                            //MessageBox - Affiche erreur.
                            MessageBox.Show("Une erreur est survenu lors de l'importation de la base de donnée.");
                        }  
                    }
     
                }
                //Vérification YesNo - FIN
            }
     
            //*************************************************//
            //*** ÉVÉNEMENT CLICK - sur le bouton "Retour" ***//
            //*************************************************//
            private void btn_retour_Click(object sender, EventArgs e)
            {
                //Création d'un obet (form_action) de type (Action).
                Action form_action = new Action(null);
     
                //Fermeture de ce form.
                this.Close();
     
                //Ouverture de form (Action).
                form_action.Show();
            }
     
            //*************************************************//
            //*** ÉVÉNEMENT CLICK - sur le bouton "Quitter" ***//
            //*************************************************//
            private void btn_quitter_Click(object sender, EventArgs e)
            {
                //Quitter l'application.
                Application.Exit();
            }
        }
    }

    Voilà en espérant que vous puissiez m'aider ou me guider

  2. #2
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Bonjour,

    d'où provient cette classe : MySqlBackup

    car quand je regarde la documentation du namespace MySql.Data.MySqlClient, je ne la vois pas dedans
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Par défaut
    Oups effectivement j'ai oublié de mettre les class

    Enfaite j'ai été sur ce site qui proposé dll et class pour pouvoir manipulé MySql. Il y a tout ici :

    MySqlBackup.NET

  4. #4
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    En regardant un peu les sources de la DLL et la documentation se trouvant sur le lien mais sans tester car je n'ai pas encore réinstaller MySql, un truc du genre devrait fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //Exportation de la base de donnée vers le chemin spécifié.
    mb.ExportInfo.FileName = file;
    mb.ExportInfo.ExportViews  = true
    mb.Export();
    Dans la documentation :

    ExportInfo (ExportInformations) - Gets or Sets the Informations that define behaviour of Export Process. Read more at Class of ExportInformations below.
    ...
    ExportStoredProcedures - bool - Gets or Sets a value indicates whether the Stored Procedures should be exported.
    ExportFunctions - bool - Gets or Sets a value indicates whether the Stored Functions should be exported.
    ExportTriggers - bool - Gets or Sets a value indicates whether the Stored Triggers should be exported.
    ExportViews - bool - Gets or Sets a value indicates whether the Stored Views should be exported.
    ExportEvents - bool - Gets or Sets a value indicates whether the Stored Events should be exported.
    Voila tenez nous au courant si cela fonctionne
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Par défaut
    Nope j'ai déjà essayé ainsi mais cela ne fonctionne pas.

    J'ai également lu la documentation et il semble que dans une class nommé "ExportInformations.cs", ils ont déjà mis à "true" par défaut pour les exports views.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //Gets or Sets a value indicates whether the Stored Views should be exported.
    public bool ExportViews = true;
    Donc à moins de mettre "false" si l'on voulait ne pas exporter les vues je pense que cette ligne de code n'est pas nécessaire, mais merci pour ta réponse en tout cas.

  6. #6
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Ce que tu peux faire c'est lié les sources de la Dlls que tu utilises et faire du debug pour voir ce qu'il se passe.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/02/2008, 16h01
  2. Stratégie de sauvegarde BDD mysql
    Par Thotem dans le forum Administration
    Réponses: 4
    Dernier message: 21/06/2007, 19h42
  3. manipuler une BDD mysql avec eclipse
    Par Mounr dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 19/06/2007, 01h36
  4. Réponses: 2
    Dernier message: 19/02/2007, 13h02
  5. Sauvegarde bdds MySQL
    Par JoN28fr dans le forum Apache
    Réponses: 8
    Dernier message: 10/06/2006, 12h55

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