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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-09-2006
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Importar de TXT a FireBird

Hola que tal.

Estoy buscando como importar un archivo TXT a FireBird, he encontrado sugerencias de utilizar IBExport, pero no requiero eso, necesito que mi aplicación haga la operación, que el usuario realice la importacion cuantas veces lo necesite.

También he encontrado un código que me podria ayudar un poco, pero los datos los obtiene desde Excel, y no quiero q el usuario tenga que cargar el archivo texto a este programa, sino que desde mi aplicación utilizando el componente OpenDialog, lo pueda importar sin ningun problema para el usuario. Les comento q el archivo texto no tiene comas ni nada por el estilo que separe un dato del otro.

Espero que alguien me pueda ayudar con un código de ejemplo en Delphi 6, que me ayude a orientarme
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #2  
Antiguo 26-09-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero tendrás que decir, al menos, qué formato tiene el texto... porque adivinos no somos... todavía
Responder Con Cita
  #3  
Antiguo 26-09-2006
raulnunhez raulnunhez is offline
Registrado
 
Registrado: abr 2004
Posts: 4
Poder: 0
raulnunhez Va por buen camino
podrías pegar parte del texto para saber exactamente qué es lo que deseas importar y el formato que tiene.

saludos
Responder Con Cita
  #4  
Antiguo 26-09-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Suponiendo que tenes un texto de columnas de ancho fijo, y algunas otras cosas que se entenderán con el codigo, te dejo un pequeño ejemplo:

Código Delphi [-]
  if OpenDialog1.Execute then
  begin
    qInsert.SQL.Text := 'insert into tabla values (:campo1, :campo2);';
    Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
    for I := 0 to Memo1.Lines.Count - 1 do
    begin
      qInsert.ParamByName('campo1').AsString := copy(Memo1.Lines[i], 1, 10);
      qInsert.ParamByName('campo2').AsString := copy(Memo1.Lines[i], 11, 4);
      qInsert.ExecQuery;
    end;
  end;

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 27-09-2006
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Sorry

Antes que nada gracias por sus aportaciones y comentarios a mi duda. Ahora pasare a pedirles una disculpa por mi falta de informaciòn....este archivo es de columnas fijas....ahi les va algo del texto de ese archivo:
1814067000114067101004060LAS PALMAS DOMICILIO CONOCIDO....ETC
1814067000114067102004066IXTAPA DOMICILIO CONOCIDO....ETC

y asi se va hasta ocupar mas o menos 200 registros aproximadamente...

Bueno espero haberme explicado....son de ancho fijo, como pueden ver no esta separado por ningun caracter en especial.

Y Gracias "jachguate" por tu código, lo hechare a andar....y luego te comento

GRACIAS MUCHACHOS....!
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #6  
Antiguo 30-09-2006
TJose TJose is offline
Miembro
 
Registrado: may 2003
Posts: 162
Poder: 22
TJose Va por buen camino
tablas externas

Hola mRoman

debes utilizar tablas externas, estas tablas son archivos de texto de ancho fijo, que pueden ser declaradas directamente a nivel base de datos, y son tratadas como cualquier otra tabla de mi base de datos (no exactamente). Es importante tener en cuenta que cuando se declara una tabla externa todos sus campos son de tipo char(n). No funciona (al menos cuando yo la utilicé) con campos con separadores ("tab", ";", ",", etc).
Ahora no necuerdo bien la sisntaxis, pero era más o menos así:ç

Código SQL [-]
create table mitabla external file "miarchivo.txt"(
  cod char(4),
  nombre char(50),
  apellido char(35),
  fecha char(8));

si miarchivo.txt existe, y tiene la misma estructura que definimos con create table, podremos ya hacer un
Código SQL [-]
select * from mitabla
. De lo contrario si no existe miarchivo.txt firebird (interbase) lo creará, de esta forma podremos utilizar este medio para exportar datos, haciendo un select sobre otra tabla (con los mismos campos que mi tabla externa) y volcándolos sobre la tabla externa.

Además deberás tener en cuenta los permisos que se hayan dado en el archivo de configuración de firebird.
miarchivo.txt podrá resisdir en cualquier directorio, o sólo en un directorio específico. Esto también depende del la configuración de firebird.

Culquier otra duda
Saludos

TJose
Responder Con Cita
Respuesta



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
importar datos de excel a firebird Choclito Varios 6 06-02-2007 02:26:10
Importar una dll vasgab API de Windows 0 21-07-2006 23:44:09
Importar DBF a Gdb vtdeleon Firebird e Interbase 4 14-05-2005 18:16:40
Importar Base de Datos Firebird/Interbase a SQL Server altinoco21 MS SQL Server 1 06-04-2005 22:09:26
Como importar una BD Inertbase a firebird afarenas Firebird e Interbase 1 14-12-2004 14:32:53


La franja horaria es GMT +2. Ahora son las 12:35:23.


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