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 :

Backup Bdd en CSv


Sujet :

C#

  1. #1
    Invité
    Invité(e)
    Par défaut Backup Bdd en CSv
    Bonjour, j'ai un code qui me fait sauvegarder un tableau de ma base de donnée dans un fichier CSV, le problème c'est que j'ai 9 tableaux dans ma base de donnée, y'a moyen de faire la sauvegarde pour tous les tableaux de ma base de donnée dans la mème méthode, et je veux également que ça soit stocké à chaque fois dans un nouveau dossier qui regroupe les 9 sauvegarde
    Merci


    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
     public void BackupCSV()
            {
                string datetime = DateTime.Now.ToString("yyyyMMddHHmmss");
                string LogFolder = @"C:\Log\";
                try
                {
     
                    //Declare Variables and provide values
                    string FileNamePart = "DATAFromDGV";//Datetime will be added to it
                    string DestinationFolder = @"D:\bdd";
                    string TableName = "Dbo.DatafromDGV, Dbo.Calculation";
                    string FileDelimiter = ","; //You can provide comma or pipe or whatever you like
                    string FileExtension = ".Csv"; //Provide the extension you like such as .txt or .csv
     
     
                    //Create Connection to SQL Server in which you like to load files
                    SqlConnection SQLConnection = new SqlConnection(TheConnectionString);
                   // SQLConnection.ConnectionString = "Data Source = (local); Initial Catalog =TechBrothersIT; "
                       //+ "Integrated Security=true;";
     
                    //Read data from table or view to data table
                    string query = "Select * From " + TableName;
                    SqlCommand cmd = new SqlCommand(query, SQLConnection);
                    SQLConnection.Open();
                    DataTable d_table = new DataTable();
                    d_table.Load(cmd.ExecuteReader());
                    SQLConnection.Close();
     
                    //Prepare the file path 
                    string FileFullPath = DestinationFolder + "\\" + FileNamePart + "_" + datetime + FileExtension;
     
                    StreamWriter sw = null;
                    sw = new StreamWriter(FileFullPath, false);
     
                    // Write the Header Row to File
                    int ColumnCount = d_table.Columns.Count;
                    for (int ic = 0; ic < ColumnCount; ic++)
                    {
                        sw.Write(d_table.Columns[ic]);
                        if (ic < ColumnCount - 1)
                        {
                            sw.Write(FileDelimiter);
                        }
                    }
                    sw.Write(sw.NewLine);
     
                    // Write All Rows to the File
                    foreach (DataRow dr in d_table.Rows)
                    {
                        for (int ir = 0; ir < ColumnCount; ir++)
                        {
                            if (!Convert.IsDBNull(dr[ir]))
                            {
                                sw.Write(dr[ir].ToString());
                            }
                            if (ir < ColumnCount - 1)
                            {
                                sw.Write(FileDelimiter);
                            }
                        }
                        sw.Write(sw.NewLine);
     
                    }
     
                    sw.Close();
     
                }
                catch (Exception exception)
                {
                    // Create Log File for Errors
                    using (StreamWriter sw = File.CreateText(LogFolder
                        + "\\" + "ErrorLog_" + datetime + ".log"))
                    {
                        sw.WriteLine(exception.ToString());
     
                    }
     
                }
            }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Quelqu'un qui pet donner un coup de main

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Citation Envoyé par magmaaka Voir le message
    Quelqu'un qui pet donner un coup de main
    Juste un petit conseil.
    Ce genre de post à peine une heure et demi après avoir poster ton problème n'est pas bien vu en règle générale.
    Les gens vont déjeuner entre midi et 14h.
    Les gens ne sont pas non plus connecté 24h/24 sur le forum.
    Les gens ne vont pas répondre une bêtise s'ils n'ont pas la réponse.
    Bref les gens ont une vie et n'ont pas forcément la réponse à toutes les questions.
    Il faut attendre que la bonne personne tombe dessus.

    Sinon pour revenir sur le sujet.
    Pour sauvegarder dans un nouveau répertoire, je te suggère de passer en paramètre le répertoire en question.
    Comme ça tu choisis où tu veux le mettre.

    Pour sauvegarder tes neuf tables, tu pourrais lancer neuf fois ta méthode sur une table différente à chaque fois.

  4. #4
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 899
    Points : 1 916
    Points
    1 916
    Par défaut
    Quel SGBD utilises-tu ? Est-ce-qu'il ne propose pas déjà des fonctionnalités d'export et de backup ? Le souci que tu peux avoir avec le csv c'est que les données de ta base ne seront pas forcément très compatible avec le format csv (ex. des chaînes de caractères contenant des sauts de ligne).

Discussions similaires

  1. Backup bdd + migration vers autre OS
    Par Athos77 dans le forum Administration
    Réponses: 8
    Dernier message: 07/08/2011, 09h11
  2. Problème BackUp BDD
    Par sky88 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/03/2011, 18h44
  3. Script automatisé backup BDD Mysql
    Par Dreamtale dans le forum Linux
    Réponses: 3
    Dernier message: 22/12/2010, 17h54
  4. Backup bdd sql 2005
    Par Philippe PONS dans le forum Administration
    Réponses: 9
    Dernier message: 23/11/2007, 13h20
  5. Réponses: 4
    Dernier message: 16/08/2005, 09h39

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