PDA

Ver la Versión Completa : ETL de Firebird a MySQL


ciudad54
02-09-2021, 16:55:20
Buenas, tengo un sistema con base de datos sobre Firebird 1.5.4 que registra perfiles de clientes y datos importantes de los mismos. Hace poco se ha adquirido un sistema sobre MySQL con el cual se debe integrar las informaciones de los clientes con esta última.

Qué alternativas sugieren para integrar las informaciones de los clientes entre Firebird y MySQL?

Casimiro Notevi
02-09-2021, 18:54:55
Pues depende de lo que necesites, puedes exportar e importar, puedes abrir conexión a ambas bases de datos, etc.

Si no das más información.

ciudad54
07-09-2021, 02:12:21
Gracias por la respuesta.

El contexto es el siguiente:
Tenemos un software (1) que registra perfiles de clientes (nombres, ID, dirección, emails, etc) la cual gestiona con Firebird; y en la actualidad se adquirió otro sistema (2) que realiza diferentes procesos, que el anterior no realiza, con la información de los clientes (Facturación, Ordenes de Servicio, etc) con MySQL cono gestor de base de datos.

El objetivo es integrar la información básica de los clientes (expediente, nombres, teléfonos, dirección) generada en el software 1 con el software 2 para no duplicar el registro y mantener las dos herramientas en sus respectivos procesos.

ESTRUCTURA TABLA CLIENTES EN FIREBIRD

INSTITUCION NUMERIC(8,0) NOT NULL,
EXPEDIENTE VARCHAR(15) NOT NULL,
NOMBRES VARCHAR(30) NOT NULL,
PRIMER_APELLIDO VARCHAR(30) NOT NULL,
SEGUNDO_APELLIDO VARCHAR(30),
CEDULA VARCHAR(11),
NSS VARCHAR(10),
FICHA_FAMILIAR VARCHAR(8),
APODO VARCHAR(20),
FECHA_APERTURA TIMESTAMP,
FECHA_NACIMIENTO TIMESTAMP,
NACIONALIDAD NUMERIC(5,0) NOT NULL,
SEXO VARCHAR(9) NOT NULL,
CALLE VARCHAR(30),
CASA VARCHAR(10),
EDIFICIO VARCHAR(20),
PISO VARCHAR(10),
APARTAMENTO VARCHAR(10),
REFERENCIA VARCHAR(50),
TELEFONO1 VARCHAR(15),
TELEFONO2 VARCHAR(15),
NOMBRES_PADRE VARCHAR(30),
APELLIDO_PADRE VARCHAR(30),
NOMBRES_MADRE VARCHAR(30),
APELLIDO_MADRE VARCHAR(30),
HPROVINCIA VARCHAR(2),
HMUNICIPIO VARCHAR(4),
HSECCION VARCHAR(6),
HPARAJE VARCHAR(9),
PROVINCIA VARCHAR(2),
MUNICIPIO VARCHAR(3),
CIUDAD VARCHAR(2),
SECTOR VARCHAR(4),
NOTAS VARCHAR(200),
USUARIO_CREO VARCHAR(30) NOT NULL,
FECHA_CREO TIMESTAMP NOT NULL,
USUARIO_MODIFICO VARCHAR(30) NOT NULL,
FECHA_MODIFICO TIMESTAMP,
SDX_NOMBRES VARCHAR(5),
SDX_PRIMER_APELLIDO VARCHAR(5),
SDX_SEGUNDO_APELLIDO VARCHAR(5),
NO_TIENE_CEDULA VARCHAR(1),
RAZONES_ESPECIAL_CUIDADO VARCHAR(500),
LOCALIZACION_EXPEDIENTE VARCHAR(6),
ARS INTEGER,
PLAN_COBERTURA INTEGER,
ESTADO_CIVIL VARCHAR(12),
LUGAR_NACIMIENTO VARCHAR(30),
EM_NOMBRE_COMPLETO VARCHAR(50),
EM_RELACION VARCHAR(40),
EM_DIRECCION VARCHAR(60),
EM_TELEFONO1 VARCHAR(15),
EM_TELEFONO2 VARCHAR(15),
EM_CELULAR VARCHAR(15)
);

ESTRUCTURA EN MYSQL

`PacId` int NOT NULL AUTO_INCREMENT,
`PacNom` varchar(50) NOT NULL,
`PacApe` varchar(50) NOT NULL,
`PacApm` varchar(50) NOT NULL,
`PacSex` varchar(10) NOT NULL,
`PacIde` varchar(20) NOT NULL,
`PacOtr` varchar(20) NOT NULL,
`PacFch` date NOT NULL,
`PacDom` varchar(100) NOT NULL,
`PacReg` date NOT NULL,
`PaiId` int NOT NULL,
`PacSts` tinyint NOT NULL,
`UsuId` int NOT NULL,
`PacAct` tinyint NOT NULL,
`PacCla` tinyint NOT NULL,

Casimiro Notevi
07-09-2021, 10:45:31
Pues depende de lo que necesites, puedes exportar e importar, puedes abrir conexión a ambas bases de datos, etc. Pues eso, que puedes exportar/importar, o puedes conectar a ambas bases de datos al mismo tiempo: Es que no has contestado a lo principal: "depende de lo que necesites", no sabemos si quieres que desde el soft2 quieres leer el soft1, si quieres exportar, si quieres eliminar soft1 y dejar todo en soft2, etc. etc. etc...

ciudad54
07-09-2021, 18:06:10
Muchas gracias.
El requerimiento es que desde el Soft2 leer al Soft1 en tiempo real, por el momento deben coexistir ambos sistemas.
Utilizar los datos de los clientes generados en el Soft1, leerlo en el Soft2 en tiempo real, es la necesidad.

Casimiro Notevi
07-09-2021, 19:12:35
Pues usa una conexión para la otra base de datos, no hay problema con ello.
No sé qué componentes utilizas, pero puedes tener tu DB1, TR1, QR1, etc. y tu DB2, TR2, QR2, etc. cada uno a una base de datos distinta.