domenica 20 ottobre 2013

Mysql, C#, un file Sql ........ e tante tante insert


Mysql, C#, un file Sql ........ e tante tante insert

---->Codice Copia Ed Incolla<------


Ciao a tutti, 

come intuirete dal titolo di questo post, 
un po di codice per connettersi a mysql da c# e mandare in pasto al DBMS 400.000 in meno di 5 ore.....   :)

ecco un affermazione forte ma questo è il tempo che ho perso ieri per
importare in una tabella un po di record......

In particolare, per pigrizia ho provato con toad for mysql ( versione free), ma il file sql che conteneva le insert era troppo grande...( 200 Mb) .... dopo un po di tempo
con insiemi più piccoli di query mi sono rotto le scatole e ho lasciato perdere.......

Prima avevo provato con:

 mysql -u utente -p Nomedatabase < file.sql.che.contiene.le.insert

ma sul mio server linux... il mio file scritto da windows non aveva caratteri digeribili.......


vabbè per farla breve, mi sono scritto un programmino...

spero vi possa tornare utile





            MySqlConnection myConnection = new MySqlConnection();
            myConnection.ConnectionString = "database=read*******;server=localhost;user id=root;           pwd=r*****3";
            myConnection.Open();

            TextReader tr = new StreamReader(@"E:\r******\*********e\location.sql");
            string line = "";
            int i = 0;
            while ((line = tr.ReadLine()) != null)
            {
                this.Text = ""+i;
                string sql = line;
                MySqlCommand myCommand = new MySqlCommand(sql, myConnection);
                myCommand.CommandType = CommandType.Text;
                try
                {
                    int ok = myCommand.ExecuteNonQuery();
                }
                catch (Exception ee) { }
                i++;
                Application.DoEvents();

            }
            tr.Close();
            myConnection.Close();



Happy coding!!!



Ambiente di sviluppo usato :
      visual studio 10 express;

Tipo applicazione:
     window form; Visual c#

Dbms :
   Mysql