Transactions oracle sql server csv avec c#

Contenu du snippet

Il s'agit d'un package C# Contenants 3 classes permettant chacune la connexion, la déconnexion, l'extraction et l'insertion de données pour les bases Oracle XE, SQL Server et les fichiers CSV.

Vous pouvez générer directemen une bibliothèque (DLL) et la référencer dans vos projets. Ainsi vous auriez la possibilité d'appeler n'inporte quelle méthode (extraction,insertion, connexion, déconnexion).
Pour générer la solution (DLL) du porjet :
1- Installer visual studio 2008.
2- Extraire le fichier "DB Connect C# ClassLibrary1.zip"
3- Ouvrir le raccourci du projet "ClassLibrary1" 9
4- dans visual studio activer le menu "Projet" et choisir la commande "Propriétés du projet ClassLibrary1"
5- dans la rubrique "Générer" choisir "chememin de sortie"(votre dossier projet "classlibrery1")
6- Activer le menu "Générer" puis choisir la commande "Générer la solution"
7- Quatres fichiers seront créer dans le dossier que vous avez choisi dans l'étape 5 (vous allez utiliser le fichier "DBConnectClassLibrery.dll" comme référence dans d'autres projets)

merci de choisir ce code!!!!!!!!!!!!!!!!

Pour plus d'informations contactez Maher Saïdani sur : maher.saidani@gnet.tn

Source / Exemple :


using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data.OracleClient;
using System.IO;

namespace ProjetIGL
{
    /// <summary>
    /// Classe oracle connexion déconnexion extraire loder
    /// </summary>

    /// <summary>
    /// Classe oracle connexion déconnexion extraire loder
    /// </summary>

    public class OracleConnect
    {

        public DataTable SourceDestOracle = new DataTable();

        ///Methode connecter oracle
        public OracleConnection ConnectOracle(string serveurOracle, int port, string UserOracle, string PasswordOracle)
        {
            System.Data.OracleClient.OracleConnection OraCon = new OracleConnection();
            string conString;/// chemin de connexion oracle
            conString = "Data Source=" + serveurOracle + ":" + port + ";User Id=" + UserOracle + ";Password=" + PasswordOracle + ";";
            OraCon.ConnectionString = conString;
            try
            {
                OraCon.Open();
                MessageBox.Show("Connexion ORACLE effectuée avec succé");
                return OraCon;
            }
            catch (Exception e)
            {
                MessageBox.Show("Impossible de connecter Oracle " + e);
                return OraCon;
            }
        }///fin Connect

        /// Methode Déconnexion Oracle

        public bool DisconnectOracle(OracleConnection OraCon)
        {
            try
            {
                OraCon.Close();
                MessageBox.Show("Déconnnexion ORACLE effectuée avec succé");
                return false;
            }
            catch (Exception e)
            {
                MessageBox.Show("Impossible de déconnecter Oracle " + e);
                return false;
            }

        }///Fin disconnect

        ///Extraire les données
        public DataTable ExtractOracle(string Requete, OracleConnection Cn)
        {
            int i = 0;
            DataRow Tableau;
            OracleDataReader DSResultat;

            DataTable SourceDestOracle = new DataTable("Test");
            ///Définition des colonnes nécessaires
            System.Data.DataColumn ColID;
            System.Data.DataColumn ColNOM;
            System.Data.DataColumn ColPRENOM;
            System.Data.DataColumn ColSEXE;
            System.Data.DataColumn ColAGE;
            System.Data.DataColumn ColVILLE;

            ColID = new DataColumn();
            ColNOM = new DataColumn();
            ColPRENOM = new DataColumn();
            ColSEXE = new DataColumn();
            ColAGE = new DataColumn();
            ColVILLE = new DataColumn();

            try
            {
                ///Création des colonnes dans le Data Table
                ColID.DataType = System.Type.GetType("System.Int32");
                ColID.ColumnName = "IDCLIENT";
                SourceDestOracle.Columns.Add(ColID);

                ColNOM.DataType = System.Type.GetType("System.String");
                ColNOM.ColumnName = "NOM";
                SourceDestOracle.Columns.Add(ColNOM);

                ColPRENOM.DataType = System.Type.GetType("System.String");
                ColPRENOM.ColumnName = "PRENOM";
                SourceDestOracle.Columns.Add(ColPRENOM);

                ColSEXE.DataType = System.Type.GetType("System.String");
                ColSEXE.ColumnName = "SEXE";
                SourceDestOracle.Columns.Add(ColSEXE);

                ColAGE.DataType = System.Type.GetType("System.Int32");
                ColAGE.ColumnName = "AGE";
                SourceDestOracle.Columns.Add(ColAGE);

                ColVILLE.DataType = System.Type.GetType("System.String");
                ColVILLE.ColumnName = "VILLE";
                SourceDestOracle.Columns.Add(ColVILLE);

            }
            catch (Exception e)
            {
                MessageBox.Show("Impossible d'extraire à partir d'oracle " + e);
            }
            try
            {
                DateTime TempsExtractORACLE = DateTime.Now;
                OracleCommand Cmd = new OracleCommand(Requete, Cn);

                DSResultat = Cmd.ExecuteReader();

                while (DSResultat.Read())
                {
                    Tableau = SourceDestOracle.NewRow();

                    Tableau["IDCLIENT"] = DSResultat.GetInt32(5);
                    Tableau["NOM"] = DSResultat.GetString(0);
                    Tableau["PRENOM"] = DSResultat.GetString(1);
                    Tableau["SEXE"] = DSResultat.GetString(2);
                    Tableau["AGE"] = DSResultat.GetInt32(3);
                    Tableau["VILLE"] = DSResultat.GetString(4);
                    SourceDestOracle.Rows.Add(Tableau);
                    i++;
                }

                TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsExtractORACLE);
                MessageBox.Show("Extraction Oracle Effectuée avec succé     \n Le temps d'extraction de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");
                DSResultat.Close();
                return SourceDestOracle;
            }
            catch (Exception e)
            {
                MessageBox.Show("Extraction ORACLE impossible " + e);
                return SourceDestOracle;
            }
        }///Fin extraire données

        public void LoadOracle(DataTable Ds, OracleConnection Cn)
        {

            int IDCLIENT;
            String NOM;
            String PRENOM;
            String SEXE;
            int AGE;
            String VILLE;
            string Requete;
            DataTableReader DR;

            try
            {
                DR = Ds.CreateDataReader();
                DateTime TempsLoadORACLE = DateTime.Now;
                while (DR.Read())
                {

                    string val;
                    val = DR[0].ToString();
                    IDCLIENT = Convert.ToInt32(val);
                    NOM = DR[1].ToString();
                    PRENOM = DR[2].ToString();
                    SEXE = DR[3].ToString();
                    val = DR[4].ToString();
                    AGE = Convert.ToInt32(val);
                    VILLE = DR[5].ToString();
                    Requete = "INSERT INTO CLIENTDEST (NOM,PRENOM,SEXE,AGE,VILLE,IDCLIENT) VALUES ('" + NOM + "','" + PRENOM + "','" + SEXE + "'," + AGE + ",'" + VILLE + "'," + IDCLIENT + ")";
                    OracleCommand Cmd1 = new OracleCommand(Requete, Cn);
                    //Cmd1.Prepare();
                    Cmd1.ExecuteNonQuery();
                }

                TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsLoadORACLE);

                MessageBox.Show("Chargement ORACLE effectué avec succé \n  Le temps de chargement de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");

                DR.Close();

            }
            catch (Exception e)
            {
                MessageBox.Show("Chargement ORACLE Impossible " + e);
            }
        }

    }///Fin classe Oracle

    /// <summary>
    /// Classe SQL Server connexion déconnexion extraire loder
    /// </summary>

    public class SqlConnect
    {

        ///Methode connecter SQL server
        public SqlConnection ConnectSql(string ServeurSql, string BaseSql, string UserSql, string PasswordSql)
        {
            System.Data.SqlClient.SqlConnection SqlCon = new SqlConnection();
            string conString;/// chemin de connexion oracle
            conString = "Data Source=" + ServeurSql + "; Initial Catalog =" + BaseSql + "; User Id =" + UserSql + "; Password = " + PasswordSql + ";";
            SqlCon.ConnectionString = conString;
            try
            {
                SqlCon.Open();
                MessageBox.Show("Connexion SQL Server effectuée avec succé");
                return SqlCon;
            }
            catch (Exception e)
            {
                MessageBox.Show("Connexion SQL Server impossible " + e);
                return SqlCon;
            }
        }///fin Connect

        /// Methode Déconnexion SQL Server

        public bool DisconnectSql(SqlConnection SqlCon)
        {
            try
            {
                SqlCon.Close();
                MessageBox.Show("Déconnnexion SQL Server effectuée avec succé");
                return false;
            }
            catch (Exception e)
            {
                MessageBox.Show("Déconnecion SQL Server Impossible " + e);
                return false;
            }

        }///Fin disconnect

        ///Extraire les données
        public DataTable ExtractSql(string Requete, SqlConnection Cn)
        {
            int i = 0;

            DataRow Tableau;
            SqlDataReader DSResultat;

            DataTable SourceDestSql = new DataTable("Test");
            System.Data.DataColumn ColID;
            System.Data.DataColumn ColNOM;
            System.Data.DataColumn ColPRENOM;
            System.Data.DataColumn ColSEXE;
            System.Data.DataColumn ColAGE;
            System.Data.DataColumn ColVILLE;

            ColID = new DataColumn();
            ColNOM = new DataColumn();
            ColPRENOM = new DataColumn();
            ColSEXE = new DataColumn();
            ColAGE = new DataColumn();
            ColVILLE = new DataColumn();
            try
            {
                ColID.DataType = System.Type.GetType("System.Int32");
                ColID.ColumnName = "IDCLIENT";
                SourceDestSql.Columns.Add(ColID);

                ColNOM.DataType = System.Type.GetType("System.String");
                ColNOM.ColumnName = "NOM";
                SourceDestSql.Columns.Add(ColNOM);

                ColPRENOM.DataType = System.Type.GetType("System.String");
                ColPRENOM.ColumnName = "PRENOM";
                SourceDestSql.Columns.Add(ColPRENOM);

                ColSEXE.DataType = System.Type.GetType("System.String");
                ColSEXE.ColumnName = "SEXE";
                SourceDestSql.Columns.Add(ColSEXE);

                ColAGE.DataType = System.Type.GetType("System.Int32");
                ColAGE.ColumnName = "AGE";
                SourceDestSql.Columns.Add(ColAGE);

                ColVILLE.DataType = System.Type.GetType("System.String");
                ColVILLE.ColumnName = "VILLE";
                SourceDestSql.Columns.Add(ColVILLE);

            }
            catch (Exception)
            {
                MessageBox.Show("Impossible de créer data TAble");
            }

            try
            {
                SqlCommand Cmd = new SqlCommand(Requete, Cn);
                DSResultat = Cmd.ExecuteReader();
                DateTime TempsExtractSql = DateTime.Now;

                while (DSResultat.Read())
                {
                    Tableau = SourceDestSql.NewRow();

                    Tableau["IDCLIENT"] = DSResultat.GetValue(0);
                    Tableau["NOM"] = DSResultat.GetString(1);
                    Tableau["PRENOM"] = DSResultat.GetString(2);
                    Tableau["SEXE"] = DSResultat.GetString(3);
                    Tableau["AGE"] = DSResultat.GetInt32(4);
                    Tableau["VILLE"] = DSResultat.GetString(5);
                    SourceDestSql.Rows.Add(Tableau);
                    i++;
                }
                TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsExtractSql);
                MessageBox.Show("Extraction SQL Effectuée avec succé  \n Le temps d'extraction de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");

                DSResultat.Close();
                return SourceDestSql;
            }
            catch (Exception)
            {
                MessageBox.Show("Extraction SQL Server impossible");
                return SourceDestSql;
            }
        }///Fin extraire données

        ///Methode insertion de données SQL Server

        public void LoadSql(DataTable Ds, SqlConnection Cn)
        {

            int IDCLIENT;
            String NOM;
            String PRENOM;
            String SEXE;
            int AGE;
            String VILLE;
            string Requete;
            SqlConnection Cnx = new SqlConnection();
            Cnx = Cn;
            try
            {
                DataTableReader DR = Ds.CreateDataReader();
                DateTime TempsLoadSql = DateTime.Now;
                while (DR.Read())
                {

                    string val;
                    val = DR[0].ToString();
                    IDCLIENT = Convert.ToInt32(val);
                    NOM = DR[1].ToString();
                    PRENOM = DR[2].ToString();
                    SEXE = DR[3].ToString();
                    val = DR[4].ToString();
                    AGE = Convert.ToInt32(val);
                    VILLE = DR[5].ToString();
                    Requete = "INSERT INTO CLIENTdest(NOM,PRENOM,SEXE,AGE,VILLE,IDCLIENT) VALUES ('" + NOM + "','" + PRENOM + "','" + SEXE + "'," + AGE + ",'" + VILLE + "'," + IDCLIENT + ")";

                    SqlCommand Cmd = new SqlCommand(Requete, Cnx);
                    Cmd.Prepare();
                    Cmd.ExecuteNonQuery();
                }

                TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsLoadSql);

                MessageBox.Show("Chargement SQL effectué avec succé \n  Le temps de chargement de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");
            }
            catch (Exception e)
            {
                MessageBox.Show("Chargement SQL Impossible " + e);
            }
        }///Fin Load SQL Server

    }///Fin classe SQL Server

    ///Classe Fichier Csv
    public class ConnectCSV
    {

        public StreamReader fichier;

        ///Méthode permettant d'ouvrir un fichier
        public StreamReader CSVConnection(string FichierCSV)
        {
            try
            {
                fichier = File.OpenText(FichierCSV);
                MessageBox.Show("Connexion CSV effectuée avec succé");
            }
            catch (Exception)
            {
                MessageBox.Show("Impossible d'ouvrir le fichier CSV");
            }
            return fichier;
        }///Fin connecter CSV
        ///

        public void CSVDisconnection(StreamReader FichierCSV)
        {
            try
            {
                FichierCSV.Close();
                MessageBox.Show("Fermeture CSV effectuée avec succé");
            }
            catch (Exception)
            {
                MessageBox.Show("Impossible de efrmer le fichier CSV");
            }

        }

        ///Methode extraction csv
        public DataTable ExtractCSV(StreamReader Fichier)
        {

            DataRow Tableau;
            DataTable SourceDestCSV = new DataTable("Test");
            System.Data.DataColumn ColID;
            System.Data.DataColumn ColNOM;
            System.Data.DataColumn ColPRENOM;
            System.Data.DataColumn ColSEXE;
            System.Data.DataColumn ColAGE;
            System.Data.DataColumn ColVILLE;

            ColID = new DataColumn();
            ColNOM = new DataColumn();
            ColPRENOM = new DataColumn();
            ColSEXE = new DataColumn();
            ColAGE = new DataColumn();
            ColVILLE = new DataColumn();
            try
            {
                ColID.DataType = System.Type.GetType("System.Int32");
                ColID.ColumnName = "IDCLIENT";
                SourceDestCSV.Columns.Add(ColID);

                ColNOM.DataType = System.Type.GetType("System.String");
                ColNOM.ColumnName = "NOM";
                SourceDestCSV.Columns.Add(ColNOM);

                ColPRENOM.DataType = System.Type.GetType("System.String");
                ColPRENOM.ColumnName = "PRENOM";
                SourceDestCSV.Columns.Add(ColPRENOM);

                ColSEXE.DataType = System.Type.GetType("System.String");
                ColSEXE.ColumnName = "SEXE";
                SourceDestCSV.Columns.Add(ColSEXE);

                ColAGE.DataType = System.Type.GetType("System.Int32");
                ColAGE.ColumnName = "AGE";
                SourceDestCSV.Columns.Add(ColAGE);

                ColVILLE.DataType = System.Type.GetType("System.String");
                ColVILLE.ColumnName = "VILLE";
                SourceDestCSV.Columns.Add(ColVILLE);

            }
            catch (Exception)
            {
                MessageBox.Show("Impossible de créer data TAble");
            }

            string titre = fichier.ReadLine();
            try
            {
                DateTime TempsExtractCSV = DateTime.Now;

                while (fichier.Peek() >= 0)
                {
                    /// on lit 1 ligne et on ajoute au tabeau

                    string ligne = fichier.ReadLine();
                    string[] vals = ligne.Split(';');
                    Tableau = SourceDestCSV.NewRow();

                    Tableau["IDCLIENT"] = Convert.ToDecimal(vals[0]);
                    Tableau["NOM"] = vals[1];
                    Tableau["PRENOM"] = vals[2];
                    Tableau["SEXE"] = vals[3];
                    Tableau["AGE"] = Convert.ToDecimal(vals[5]);
                    Tableau["VILLE"] = vals[4];
                    SourceDestCSV.Rows.Add(Tableau);

                }
                TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsExtractCSV);
                MessageBox.Show("Extraction CSV Effectuée avec succé  \n Le temps d'extraction de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");
            }
            catch (Exception e)
            {
                MessageBox.Show("Impossible d'extraire les données CSV " + e);
            }

            return SourceDestCSV;
        }///Fin Méthode extraction CSV
        ///

        ///Début méthode Load (insertion) CSV
        public void LoadCSV(DataTable Ds, StreamWriter Fichier)
        {
            int IDCLIENT;
            String NOM;
            String PRENOM;
            String SEXE;
            int AGE;
            String VILLE;
            string Requete;

            try
            {
                DataTableReader DR = Ds.CreateDataReader();
                DateTime TempsLoadCSV = DateTime.Now;
                ///Ecriture de l'entete du fichier
                Fichier.WriteLine("IDCLIENT NOM,PRENOM,SEXE,AGE,VILLE;");
                ///Remplisssage des données après l'entête
                while (DR.Read())
                {

                    string val;
                    val = DR[0].ToString();
                    IDCLIENT = Convert.ToInt32(val);
                    NOM = DR[1].ToString();
                    PRENOM = DR[2].ToString();
                    SEXE = DR[3].ToString();
                    val = DR[4].ToString();
                    AGE = Convert.ToInt32(val);
                    VILLE = DR[4].ToString();
                    Fichier.WriteLine(IDCLIENT.ToString() + "," + NOM + "," + PRENOM + "," + SEXE + "," + AGE.ToString() + "," + VILLE + ";");
                }

                TimeSpan TempsEcoule = DateTime.Now.Subtract(TempsLoadCSV);

                MessageBox.Show("Chargement CSV effectué avec succé \n  Le temps de chargement de données est : " + TempsEcoule.TotalMilliseconds.ToString() + " Mellisecondes");
            }
            catch (Exception e)
            {
                MessageBox.Show("Chargement SQL Impossible " + e);
            }

        }///Fin méthde load CSV

    }///Fin classe CSV  
     

}///Fin namespace

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.