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 :

Moulinette pour export csv d'une base de données


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 365
    Points : 83
    Points
    83
    Par défaut Moulinette pour export csv d'une base de données
    Bonjour,
    je cherche à migrer mes sources vers Team System
    Je suis donc amené à déplacer les sources de ma base de données vers TS, et ce par export CSV (vu les difficultés que présente un export excel d'apres un retour d'expérience assez douleureux!)

    le seul pb c'est que je débute vraiment sur cSharp et que je ne sais pas du tout comment faire..
    j'ai cherché sur le forum, mais on parle plus d'export excel..

    Merci

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 365
    Points : 83
    Points
    83
    Par défaut
    sympa toutes ce réponses
    mais j'ai beau cherché partout et vu que je ne sais pas comment faire, je me livre à vous..au moins pour la phase export.. pour tout ce qui est connexions, je crois que je vais m'en sortir
    merci

  3. #3
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Points : 97
    Points
    97
    Par défaut
    Si au niveau connexion tu penses t'en sortir alors je dirai que tu as fait la moitié du chemin (pour l'export).

    En effet il suffit de faire une requête par table qui ramène toutes tes données, et tu exportes lignes par lignes tes colonnes dans un fichier texte avec un séparateur.

    Tu auras ainsi un fichier par table, qu'il te suffira d'importer.

    @+

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 365
    Points : 83
    Points
    83
    Par défaut
    petite question..
    il faut ajouter quoi comme références pour avoir els objets sqlconnection, dataReader, DataAdapter...??

    Merci

  5. #5
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Pour une connexion à SQlServer, le namespace est System.Data.SqlClient

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 365
    Points : 83
    Points
    83
    Par défaut
    j'ai réussi à faire la connexion..
    mais comment écrire du csv dans le fichier ??
    voila à koi ressemble 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
     
    namespace My_Start
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
     
            public void Form1_Load(object sender, EventArgs e)
            {
                string conn = "Database=MyVase;Server=MyServer;User ID=MyUser;pwd=MyPwd";   
                string requete = "SELECT  * FROM myTable";
     
                try
                {
                    SqlConnection conn = new SqlConnection(conn); 
                    SqlCommand command = new SqlCommand(requete, conn);
                    conn.Open();
                    SqlDataReader reader = command.ExecuteReader();
                    do
                    {
                        {
     
                        }
                    }
                    while (reader.NextResult());
     
                    reader.Close();
                    conn.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("L'erreur suivante a été rencontrée :" + ex.Message);
                } 
            }
     
        }
    }
    mais je fais quoi dans la boucle du reader??

    (en fait, j'avais réussi à écrire une aplication console qui m'affichait les lignes de ma table.. j'ai juste enlevé les console.writeline et adapté le code pour un projet du type windowsApplication, sauf que je ne sais pas faire l'export!!)

  7. #7
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    C'est du brut de fondrit, peut-être optimisé :

    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
    namespace My_Start
    {
    	public partial class Form1 : Form
    	{
    		public Form1()
    		{
    			InitializeComponent();
    		}
     
     
    		public void Form1_Load(object sender, EventArgs e)
    		{
    			string conn = "Database=MyVase;Server=MyServer;User ID=MyUser;pwd=MyPwd";
    			string requete = "SELECT  * FROM myTable";
     
    			try
    			{
    				SqlConnection conn = new SqlConnection(conn);
    				SqlCommand command = new SqlCommand(requete, conn);
    				conn.Open();
    				SqlDataReader reader = command.ExecuteReader();
    				System.IO.StreamWriter writer = System.IO.File.CreateText("monFichier.csv");
     
    				while (reader.Read())
    				{
    					string sep = "";
    					for (int i = 0 ;i < reader.FieldCount ;i++)
    					{
    						writer.Write(sep + reader[i].ToString());
    						sep = ";";
    					}
    					writer.Write(writer.NewLine);
    				}
     
    				writer.Close();
    				writer.Dispose();
    				reader.Close();
    				conn.Close();
    			}
    			catch (Exception ex)
    			{
    				MessageBox.Show("L'erreur suivante a été rencontrée :" + ex.Message);
    			}
    		}
     
    	}
    }

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

Discussions similaires

  1. [MySQL] Importer les données d'un fichier CSV dans une base de données
    Par joueur dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/11/2008, 11h59
  2. Export sélectif d'une base de données
    Par gilardino dans le forum Import/Export
    Réponses: 9
    Dernier message: 21/05/2008, 17h40
  3. Réponses: 6
    Dernier message: 18/07/2006, 20h32
  4. Réponses: 4
    Dernier message: 22/09/2004, 09h17
  5. exporter ou répliquer une base de données Postgres
    Par phonetik dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 27/05/2004, 15h51

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