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 12-08-2007
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
Traspaso entre Bd's diferentes

Hola a todos.

Soy nuevo en Delphi. He conseguido sin gran complicación hacer un programa que se conecta a una BD de Interbase, y a través de un memo, envió consultas cuyos resultados visualizo en un DBgrid.

Esto sin problema. Pero la cuestión es que necesito enviar datos de una base de datos a otra. (Misma estructura y tabla diferente DB).

A ser posible sin pasar campo a campo.

Gracias.

Responder Con Cita
  #2  
Antiguo 12-08-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Bueno, es una tarea un poco dificil si la haces campo a campo... para ésto (por ejemplo), el SQL Server de Microsoft relaizo una utilidad para migrar entre los diferentes formatos de BDs... Al ser Interbase manejado por el BDE y no siendo de Microsoft tengo mis dudas, así que te aconsejo buscar en internet "conversores" para BDs o convertidores...

PD: internamente lo que harán es copiar campo por campo, registro por registro... no hay otr forma más efectiva.

Saludos.
Responder Con Cita
  #3  
Antiguo 12-08-2007
Cecilio Cecilio is offline
Miembro
 
Registrado: ago 2007
Posts: 140
Poder: 17
Cecilio Va por buen camino
Gracias por tu respuesta.

Verás, no es para migrar o cambiar, sino para actualizar las existencias de dos tiendas que no "quieren" conectar en tiempo real via adsl.

Así que he pensado hacer una especie de sincronizador que ellos lanzan al final del día.

Por lo tanto comprobaria una serie de tablas; los registros nuevos estan marcados. Y se trata de pasarlos de una BD a otra via adsl.

En Paradox de corel y usando Alias lo tengo chupado, seria algo así:
Código:
Insert into :ALIASDESTINO:TABLA
SELECT * FROM :ALIASORIGEN:TABLA WHERE MARCA=1
El problema es que Paradox se conecta a interbase via ODBC y va demasiado lento.

Sql Server permite hacer consultas de diferentes DB, pero interbase no, sino estara resuelto con una consulta como la anterión.
__________________
Saludos Cordiales.
------------------

Responder Con Cita
  #4  
Antiguo 13-08-2007
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Puedes usar el componente IBSql con parametros, pero por lo menos tendras q recorrer un dataset para asignar los valores a los parametros,

otro modo no hay hasta la fecha, aunque creo q habra esto en una proxima version del Firebird..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #5  
Antiguo 14-08-2007
kikecg kikecg is offline
Miembro
 
Registrado: feb 2006
Ubicación: Madrid
Posts: 39
Poder: 0
kikecg Va por buen camino
Post Que tal con archivos?

Hola.

En mi empresa tenemos que actualizar gran cantidad de datos a muchas oficinas remotas diariamente. Crear conexiones remotas y mantenerlas mientras se hacen las actualizaciones ralentizaba mucho todo el proceso, así que al final optamos por crear un programa "sincronizador", como tu comentas.

En nuestro caso lo que hacemos al crear las actualizaciones que se van a enviar a cada oficina es leer todas las tablas que se deben actualizar y almacenar los datos en archivos de texto con campos de ancho fijo. Este proceso es bastante rápido y, no ocupa demasiado espacio. A continuación se comprimen todos estos archivos en un .zip que se alamacena en un campo blob de la base de datos. En total el proceso no lleva mas de un par de minutos, te aseguro que es un gran cantidad de datos. Todo lo realiza un simple modulo de la aplicación principal, y por lo general solo se hace una vez al día.

En la parte de la oficina remota, se ha diseñado otra aplicación que, entre otras cosas, se encarga de descargar el archivo (previa comprobación de que no se había procesado ya, claro), lo descomprime, y lee cada archivo de datos. De esta forma la aplicación genera y ejecuta las consultas que necesite en cada oficina, que no tienen por que ser las mismas, según de que datos se trate.

Otra opción, si en cada oficina sabes que consultas se deben ejecutar en la o las otras, pues directamente en el archivo generas las consultas desde el origen. Puedes enviar el archivo por email, por ftp, en una consulta, descargandolo... en fin, de muchas maneras diferentes. Con un pequeño motor que se encargue de ejecutar cada consulta, tendrías tu actualización lista en poco tiempo.

Cada caso es diferente. Te digo que para nosotros ésta era la mejor opción, pero en otros casos puede ser mas interesante hacer una conexión remota y actualizar lo necesario.

En fin, es una idea mas.

Saludos.
Responder Con Cita
  #6  
Antiguo 15-08-2007
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Pues posiblemnte te sirva lo que se comenta en este hilo
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
Querys entre 2 BBDD diferentes CHiCoLiTa Conexión con bases de datos 9 16-11-2005 14:30:15
Consulta en diferentes BD's FunBit MySQL 1 13-07-2005 15:27:07
Constulta en tablas de 2 bd's diferentes desde Delphi6. FunBit SQL 3 11-07-2005 17:22:12
problema traspaso de datos entre formularios hijos VRO OOP 6 30-03-2005 13:35:53
master detail entre BD's JoseQ Conexión con bases de datos 3 21-09-2004 11:31:08


La franja horaria es GMT +2. Ahora son las 12:37:59.


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