Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-03-2015
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 22
ronimaxh Va por buen camino
Question Insercción masiva tarda mucho....

Saludos amigos del club, uso firebird 2.5 y C# estoy haciendo una inserción masiva desde un archivo plano txt que contiene 2.7 millones de registro le inserto 4 campos y tarde 5 horas de la forma que lo hago:

Código:
//leeo el archivo:
  if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string nombre = open.FileName;
                StreamReader Lector = new StreamReader(nombre);
                string Linea = Lector.ReadLine();
                char[] Delimitador = { '|' };
                Int32 CantLineas = File.ReadAllLines(nombre).Length;
                progressBar1.Maximum = CantLineas;
                progressBar1.Minimum = 0;
                progressBar1.Value = 0;
                detener = false;
                CargarRNC carga = new CargarRNC();
               // carga.BorrarCargaRNC();
                int i = 0;
                while (Linea != null)
                {

                    string[] Campos = Linea.Split(Delimitador);
                    carga.Rnc = Campos[0];
                    carga.Cliente = Utilidades.LimpiarCadena(Campos[1]);
                    carga.Usuarioid = 0;
                    carga.FechaSist = Utilidades.ObtenerFechaHoraSist();
                   //llamo un metodo insertar por linea
                    Int32 aff = carga.GuardaCargaRNC(carga);
                    Linea = Lector.ReadLine();
                    progressBar1.Increment(+1);
                    progressBar1.Refresh();
                    i++;
                  
                }
                Lector.Close();
                MessageBox.Show("Preceso Terminado Satisfactoriamente", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
Código:
 //llamo un metodo insertar por linea
 public Int32 GuardaCargaRNC (CargarRNC Carga)
        {
            string sqltxt = "insert into TB_CARGARNC (rnc,cliente,usuarioid,fechasist)values(" + "'" + Carga.Rnc + "'" + "," + "'" + Carga.Cliente + "'" + "," + Convert.ToString(Carga.Usuarioid) + "," + "'" + Carga.FechaSist + "'" + ")";
            FbConnection conn = ConectarFirebirdDB.ObtenerConexion();
            FbTransaction trans = conn.BeginTransaction();
            FbCommand cmd = new FbCommand(sqltxt, conn, trans);
            Int32 aff = 0;
            try
            {
                aff = cmd.ExecuteNonQuery();
                trans.Commit();
               
            }
            catch (Exception ex)
            {
                trans.Rollback();
                
            }
            conn.Close();
            cmd.Dispose();
            return aff;

        }
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicación en Windows 7 64 bits tarda mucho en arrancar jupehe Conexión con bases de datos 2 26-07-2014 10:56:11
Tarda mucho el UPDATE a MySQL b1ast3r Conexión con bases de datos 2 13-10-2010 19:34:56
Tarda mucho en ejecutar un SP Choclito Firebird e Interbase 29 13-08-2010 17:02:46
Form que se tarda mucho en abrir IVAND Varios 3 29-05-2007 02:14:07
Por que tarda mucho en abrir un EXE IcebergDelphi Varios 5 16-06-2004 11:05:28


La franja horaria es GMT +2. Ahora son las 16:32:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi