Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-01-2012
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Exportar una tabla de Fox pro a SQL Server desde Delphi

Buenas amigos, les cuento desde el principio para que entiendan, en la empresa existe un sistema para llevar el control de horas, trabajadores, proyectos, embarcaciones etc etc...el sistema esta basado en Foxpro, el informatico anterior decidio hacer la aplicacion en Delphi pero dejo algunos(MUCHOS) cabos sueltos e importantes, uno de ellos es el siguiente.

Desde Microsoft projetc el Jefe de Reparacion hacia su cronograma y luego por una macro que habia sido creada para el sistema viejo este EXPORTABA la tabla a .dbf, luego iba al sistema e IMPORTABA esa tabla que habia sido creada...

Ahora con el nuevo sistema no encuentro la forma de IMPORTAR esa tabla .dbf que se crea para añadirla a la tabla SQL a la que debe ir...

estuve buscando mucho por la web y no encontre mayor ayuda...

Ahora solo tengo un TTABLE
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #2  
Antiguo 12-01-2012
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Exportar una tabla de Fox pro a SQL Server desde Delphi

Buenas amigos, les cuento desde el principio para que entiendan, en la empresa existe un sistema para llevar el control de horas, trabajadores, proyectos, embarcaciones etc etc...el sistema esta basado en Foxpro, el informatico anterior decidio hacer la aplicacion en Delphi pero dejo algunos(MUCHOS) cabos sueltos e importantes, uno de ellos es el siguiente.

Desde Microsoft projetc el Jefe de Reparacion hacia su cronograma y luego por una macro en project este EXPORTABA la tabla a .dbf, luego iba al sistema e IMPORTABA esa tabla que habia sido creada...

Ahora con el nuevo sistema no encuentro la forma de IMPORTAR esa tabla .dbf que se crea para añadirla a la tabla SQL a la que debe ir...

estuve buscando mucho por la web y no encontre mayor ayuda...

----

Ahora solo tengo un TTABLE (Propiedad Databasename = al directorio donde van las dbf creadas), un Datasource conectado a TTABLE y su respectivo DBGRID que me muestra la tabla .DBF que selecciono(busco la tabla con un opendialog)...

Código Delphi [-]
If OpenDialog1.Execute Then
    Begin
     Table1.Close;
     Table1.DatabaseName := ExtractFilePath (OpenDialog1.Filename);
     Table1.TableName := ExtractFileName (OpenDialog1.Filename);
     Table1.Active := True;

    End;

Lo que quiero es luego de tener cargada la tabla de Foxpro cargada en el DBGRID pasar esos datos a SQL SERVER, o si existe una forma mas sencilla de hacerlo... agradezco enteramente su ayuda!

Gracias
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #3  
Antiguo 12-01-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ZiriusB.

Por favor trata de no duplicar los mensajes, combiné ambos en este.

Saludos y gracias por tu colaboración.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 12-01-2012 a las 21:45:45.
Responder Con Cita
  #4  
Antiguo 13-01-2012
pcicom pcicom is offline
Miembro
 
Registrado: may 2003
Ubicación: MONTERREY MEXICO
Posts: 253
Poder: 21
pcicom Va por buen camino
Si ya tienes la conexion al recordset que muestras en el GRID, entonces puedes recorrer uno a uno los registros en el GRID e insertarlos directamente a tu servidor SQL, con instrucciones SQL..
__________________
Poco ha de saber el que no pregunta.. Yo por eso soy un pregunton
Responder Con Cita
  #5  
Antiguo 13-01-2012
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Ecfisa, no fue mi intención...borra el primer mensaje por favor!
---

pcicom, podrías darme una guía para hacerlo, para entenderte mejor...Gracias por tu ayuda!
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #6  
Antiguo 13-01-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ZiriusB.

No te preocupes (un descuido lo tiene cualquiera), lo que importa es que quedó en el mismo hilo para facilitar las búsquedas.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 15-01-2012
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
De verdad necesito ayuda con esto, si tienen alguna sugerencia se los agradeceria...
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #8  
Antiguo 15-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Explica con más detalle, por favor.
Responder Con Cita
  #9  
Antiguo 15-01-2012
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Buenas amigos, les cuento desde el principio para que entiendan, en la empresa existe un sistema para llevar el control de horas, trabajadores, proyectos, embarcaciones etc etc...el sistema esta basado en Foxpro, el informatico anterior decidio hacer la aplicacion en Delphi pero dejo algunos(MUCHOS) cabos sueltos e importantes, uno de ellos es el siguiente.

Desde Microsoft projetc el Jefe de Reparacion hacia su cronograma y luego por una macro en project este EXPORTABA la tabla a .dbf, luego iba al sistema e IMPORTABA esa tabla que habia sido creada...

Ahora con el nuevo sistema no encuentro la forma de IMPORTAR esa tabla .dbf que se crea para añadirla a la tabla SQL a la que debe ir...

estuve buscando mucho por la web y no encontre mayor ayuda...

----

Ahora solo tengo un TTABLE (Propiedad Databasename = al directorio donde van las dbf creadas), un Datasource conectado a TTABLE y su respectivo DBGRID que me muestra la tabla .DBF que selecciono(busco la tabla con un opendialog)...


Código Delphi [-]
If OpenDialog1.Execute Then
    Begin
     Table1.Close;
     Table1.DatabaseName := ExtractFilePath (OpenDialog1.Filename);
     Table1.TableName := ExtractFileName (OpenDialog1.Filename);
     Table1.Active := True;

    End;

Lo que quiero es luego de tener cargada la tabla de Foxpro cargada en el DBGRID pasar esos datos a SQL SERVER, o si existe una forma mas sencilla de hacerlo... agradezco enteramente su ayuda!

Gracias

-----

En resumen lo que quiero es pasar una tabla de foxpro (.dbf) a una tabla ya creada en SQL SERVER!

Cual duda tienes?, gracias por responder
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #10  
Antiguo 15-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si puedes leer la tabla dbf, entonces ahora sólo tendrás que ir recorriendo todos los registros y guardarlos en la otra base de datos.
¿Cuál es el problema?
Responder Con Cita
  #11  
Antiguo 15-01-2012
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Fue lo que me dijeron mas arriba, pero necesito un ejemplo no soy muy experto y queria un empujon, gracias por responder!
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #12  
Antiguo 15-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues depende de qué componentes estás usando, pero básicamente:

Código Delphi [-]
tablanueva.open;
tabladbf.open;
while not tabladbf.eof do
begin
  tablanueva.append;
  tablanueva.campoxxx := tabladbf.campoxxx;
  tablanueva.campoyyy := tabladbf.campoyyy;
  tablanueva.campozzz := tabladbf.campozzz;
  tablanueva.post;
  //
  tabladbf.next;
end;
tablanueva.transaction.commit;
Responder Con Cita
  #13  
Antiguo 15-01-2012
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Uso un TTABLE para cargar la tabla de foxpro en el grid...

para grabar a SQL usare ADO!

mañana hago las pruebas, desde ya muchas gracias por la respuesta!
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #14  
Antiguo 15-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Aquí estaremos por si tienes cualquier duda
Responder Con Cita
  #15  
Antiguo 16-01-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Yo convertiria primero de DBF a Access y luego a Sql Server, por que?:
1 Access y sql server son del mismo mocosoft asi que se entienden.
2 Para convertir de access a sql server el mismo access lo hace solo.
3 Aqui hay un programa que lo hace y no se tiene que tener ningun conocimiento previo.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #16  
Antiguo 16-01-2012
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
He probado ese programa Caral, el problema es que el usuario desde el mismo sistema debe con un boton (IMPORTAR POSICIONES) importar directamente, osea el usuario en un click debe guarda esos datos de la tabla de foxpro que se creo (.dbf) en una tabla de sql.... para el usuario todo este proceso es invisible, el solo da clic y listo ya tiene las posiciones en la base de datos SQL. Y dicho sea de paso este proceso se hace varias veces al mes y se hace y hara SIEMPRE!

Es por eso que no puedo hacerlo con el programa que tu me recomiendas, de todas formas gracias por responder! si tienes alguna otra sugerencia sera bienvenida!
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."

Última edición por ZiriusB fecha: 16-01-2012 a las 00:58:57.
Responder Con Cita
  #17  
Antiguo 16-01-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La idea mas sencilla es la que te indica Casimiro.
Lo que necesitas es simplemente que los campos de las dos tablas y bases de datos coincidan.
La verdad no entiendo la razon para que se necesiten dos bases de datos, seria mejor eliminar una, ademas de eliminar del todo el programa de foxpro que debe ser la razon de todo esto.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #18  
Antiguo 16-01-2012
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Código Delphi [-]
procedure TForm20.ImportarClick(Sender: TObject);
begin
adoqdbf.open;
table1.open;
while not table1.eof do
begin
adoqdbf.append;
adoqdbf.FieldByName('Codproy').AsInteger := Table1.FieldByName('Proy').AsInteger;
adoqdbf.FieldByName('Codposic').AsInteger := Table1.FieldByName('Pos').AsInteger;
adoqdbf.FieldByName('Espec').AsInteger := Table1.FieldByName('Esp').AsInteger;
adoqdbf.FieldByName('Desc').AsString := Table1.FieldByName('Nombre').AsString;

adoqdbf.FieldByName('Horas').AsInteger := Table1.FieldByName('Trabajo').AsInteger;
adoqdbf.FieldByName('Fecini').AsDateTime := Table1.FieldByName('Comienzo').AsDateTime;
adoqdbf.FieldByName('Fecfinp').AsDateTime := Table1.FieldByName('Fin').AsDateTime;
table1.next;
end;
    ShowMessage('Se han cargado nuevas posiciones al Sistema de Tarjetas');
end;

Bueno, me ha quedado asi y pues ya funciona, muchisimas gracias por su ayuda!


CARAL, respondiendo a lo que dijistes de que porque se usan dos bases de datos es porque la tabla .dbf se crea a partir de una exportacion que hacen desde MICROSOFT PROJECT a traves de una macro de visual basic...

Como es algo urgente, me toca por el momento dejandolo trabajar asi para luego ver como borro por completo el sistema viejo (si te contara el enredo con el que se trabaja jajajaja)
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
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
cargar plano txt en tabla sql server desde delphi 6 HELBERT GARCIA MS SQL Server 11 13-04-2009 15:35:05
Generar archivo delimitado desde tabla SQL Server delphisenda MS SQL Server 1 28-06-2007 23:21:09
Crear tabla en una BD en Server A desde consulta en tabla B en server B joaquinalberto MySQL 1 18-05-2007 10:39:27
Crear tabla temporal en SQL Server desde Delphi oneromm SQL 1 23-12-2003 21:09:22
Exportar desde Tabla BDE a Excel tamara Conexión con bases de datos 1 03-10-2003 18:20:03


La franja horaria es GMT +2. Ahora son las 18:33:09.


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