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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-01-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Importar informacion desde un csv

Hola Amigos del foro
He estado leyendo el Hilo de "leer txt con firebird " pero no es muy claro lo que requiere nuestro amigo
Tengo un problema similar, necesito importar la informacion de un archivo de texto separado por comas csv.
Lo he intentado creando una tabla con external file, pero al parecer cuando se crea el archivo txt, firebird crea un unico registro con todos los datos siendo el tamaño del campo el que determina cual es cada una de las columnas de la tabla.
Qué mas puedo hacer para importar dicha informacion directamente desde una consulta SQL
Gracias por la ayuda
Responder Con Cita
  #2  
Antiguo 09-01-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.082
Poder: 18
juanelo Va por buen camino
Que tal Hecospina,
La duda que tengo es que si esta tarea de importar un archivo csv a firebird es una eventualidad o es que quieres que un aplicacion lo haga y sea alcance mas de la misma, para posteriores importaciones?.

Si el caso es el primero (es por esta ocacion que necesitas trasladar un csv) lo que yo haría es cargar el archivo csv en excel y posteriormente grabarlo como .dbf, de ahi utilizo el datapump para hacer la traslacion hacia firebird.

Para el caso 2, pues no quedaria mas que hacer una rutina que lea el archivo de texto y pasarlo a fb de manera "manual".
Saludos.
Responder Con Cita
  #3  
Antiguo 09-01-2008
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Sobre el primer caso que menciona juanelo (y si no he entendido mal el tema ) se pueden hacer importaciones de un archivo csv a la base de datos de firebird con algunos programas como el DataBase Workbench.
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.
Responder Con Cita
  #4  
Antiguo 09-01-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Gracias por las respuestas, con esto soluciono mi problema
Responder Con Cita
  #5  
Antiguo 09-01-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.082
Poder: 18
juanelo Va por buen camino
Cita:
Empezado por hecospina Ver Mensaje
Gracias por las respuestas, con esto soluciono mi problema
Con que?
Responder Con Cita
  #6  
Antiguo 09-01-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Solo debo pasar la informacion una vez y voy a trabajar con datapum
Responder Con Cita
  #7  
Antiguo 01-02-2008
Avatar de laukri
laukri laukri is offline
Miembro
 
Registrado: dic 2007
Posts: 38
Poder: 0
laukri Va por buen camino
Talking

Cita:
Empezado por juanelo Ver Mensaje

Para el caso 2, pues no quedaria mas que hacer una rutina que lea el archivo de texto y pasarlo a fb de manera "manual".
Saludos.

hola! como se haria con la 2da opción? yo necesito leer datos desde un archivo (separado por con un comando sql de forma manual


Gracias!
Responder Con Cita
  #8  
Antiguo 01-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por laukri Ver Mensaje
hola! como se haria con la 2da opción? yo necesito leer datos desde un archivo (separado por con un comando sql de forma manual

Gracias!
Cuando he tenido que importar datos desde archivos de texto siempre uso una rutina que me encontré si mal no recuerdo en Trucomania y se llama GetToken()

Así es como yo importo los datos a una BD cualquiera, lo único que cambiaría es el objeto Query que uses, IBQuery, ADOQuery, Query1.

Código Delphi [-]
procedure TFImporta.BitBtn1Click(Sender: TObject);

  function GetToken(Cadena,Separador:string;Token:integer):string;
  var
    Posicion:integer;
  begin
     while Token > 1 do begin
       Delete(Cadena,1,Pos(Separador,Cadena));
       Dec(Token);
     end;
     Posicion:=Pos(Separador,Cadena);
     if Posicion=0 then result:=cadena
     else Result:=Copy(Cadena,1,Posicion-Length(Separador));
  end;

  procedure CargaDatos(L:string);
  begin
    Codigo := GetToken(L,';',1);
    Extension := GetToken(L,';',2);
    Responsable := GetToken(L,';',3);
  end;

  procedure GrabaDatos;
  begin
     with Query1 do begin // IBQuery1, ADOQuery1, Query1 ......
         sql.clear;
         sql.add('INSERT INTO CODIGOS (Codigo, Extension, Responsable)');
         sql.add('VALUES ('+QuotedStr(Codigo)+','+
                            QuotedStr(Extension)+','+
                            QuotedStr(Responsable)+')');
         ExecSQL;
     end;
  end;

begin
   AssignFile(Arch,'archivo.csv');
   Reset(Arch);
   while not Eof(Arch) do begin
       Readln(Arch,Linea);
       CargaDatos(Linea);
       GrabaDatos;
   end;
   CloseFile(Arch);
   ShowMessage('Proceso terminado');
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #9  
Antiguo 03-02-2008
Avatar de laukri
laukri laukri is offline
Miembro
 
Registrado: dic 2007
Posts: 38
Poder: 0
laukri Va por buen camino
gracias por tu ayuda...
pero lo que yo necesito es leer un archivo desde firebird sin usar delphi...
gracias igual!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
como importar informacion a mi base de datos desde un disket ibbeth Firebird e Interbase 13 20-01-2007 11:18:38
Importar desde Excel Lucas_diaz1810 Conexión con bases de datos 5 03-11-2006 19:15:26
Importar fichero .dat desde cobol julian_ch Varios 0 08-08-2005 18:43:17
Importar a SQL desde Archivo de Texto erasmorc MS SQL Server 8 03-06-2005 21:39:04
Importar desde Excel LucasArgentino SQL 1 24-12-2003 18:33:26


La franja horaria es GMT +2. Ahora son las 21:40:18.


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