cargar plano txt en tabla sql server desde delphi 6
Neftali, necesito cargar un plano.txt a una tabla sql server de 200.000 registros a una velocidad conciderable, pues el proceso que utilizo actualmente me tarda hora y necesito minutos 5 tal vez.
creo que tu tienes la experiencia y muy seguramente me puedas ayudar a solucionar este problema. te lo agradezco |
Hola Helbert, bienvenido a los foros.
Aunque yo sea el Administrador de los foros, piensa que hay muchas más gente que sabe del tema y te aseguro que muchos de ellos bastante más que yo. ;) Para comprender lo que estás haciendo y cómo se puede mejorar, primero debes explicar cómo estás haciendo actualmente la importación de Datos desde la tabla plana a SQL Server. ¿Lo estás haciendo desde un programa Delphi? ¿Qué componentes estás utilizando? ¿Utilizas transacciones? Estaría bien que colocaras algo de código. |
Hola.
Acabo de hacer una sencilla prueba de importar utilizando ADO, 10.000 registros desde un fichero plano a una tabla de SQL Server (servidor remoto) y tarda apenas 20 sg. Así que estaría bien que describieras cómo estás haciendo el proceso. NOTA: Para el fichero TXT he accedido con un ADOTable y el driver de Jet4. NOTA: Para la tabla de SQL Server otro ADOTable. |
Neftali, gracias por responder
estoy utilizando este codigo delphi en el cual para insertar los campos a la tabla lo hagopor un procedimiento almacenado llamado Splanoswinsiob
|
Para posteriores mensaje utiliza TAG's cuando pongas código Delphi, verás que se lee mejor.
Este ya te lo modifico yo. |
Cita:
|
este es el procedimiento que estoy usando
CREATE PROCEDURE spplanowinsiob ( @conse char (9),--0 @cod_suc char (4),--1 @fec_operacion char (8),--2 @vlr_nominal char(15),--3 @vlr_pesos char (15),--4 @tip_moneda char (2),--5 @form_pago char (2),--6 @tip_iden char (2),--7 @num_iden char (15),--8 @nom_razsoc char (40),--9 @dir_eccion char (25),--10 @cod_depart char (3),--11 @cod_munic char (4),--12 @cod_inditel char (8),--13 @num_tel char (10),--14 @tip_transac char (4),--15 @nom_remit char (40),--16 @n_idremit char (15),--17 @tp_idremit char (25),--18 @pais_orig char (3),--19 @Ori_desti char (1),--20 @ciuor_dest char (20),--21 @entidad char (40),--22 @num_cuenb char (16),--23 @detalle char (43)--24 ) AS begin Insert into PLANOWINSIOB(conse,cod_suc,fec_operacion,vlr_nominal,vlr_pesos,tip_moneda, form_pago,tip_iden,num_iden,nom_razsoc,dir_eccion,cod_depart,cod_munic,cod_inditel, num_tel,tip_transac,nom_remit,n_idremit,tp_idremit,pais_orig,Ori_desti,ciuor_dest, entidad,num_cuenb,detalle) Values (@conse,@cod_suc,@fec_operacion,@vlr_nominal,@vlr_pesos,@tip_moneda, @form_pago,@tip_iden,@num_iden,@nom_razsoc,@dir_eccion,@cod_depart,@cod_munic,@cod_inditel, @num_tel,@tip_transac,@nom_remit,@n_idremit,@tp_idremit,@pais_orig,@Ori_desti,@ciuor_dest, @entidad,@num_cuenb,@detalle) end GO |
estoy utilizando un StoredProc no un ADOStoredProc
|
ya lo resolvi, gracias
|
Cita:
|
Cita:
Sería interesante saberlo para posteriores consultas. |
estaba utilizando una conexion BDE la cambie por ADO y envie el procedimiento correspondiente a este y funciono: antes cargado 200.000 registros se demoraba 3 horas ahora lo hace en 7 minutos
Gracias |
La franja horaria es GMT +2. Ahora son las 06:47:10. |
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