Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Sincronizar Firebird a SQL Server (https://www.clubdelphi.com/foros/showthread.php?t=83277)

miguelxp 29-05-2013 21:29:33

Sincronizar Firebird a SQL Server
 
Necesito sincronizar, una base de datos firebird versión 2.5 de 64bits, en la cual esta la operación de un sistema, necesito sincronizarla con sql server 2008.
alguien conoce una herramienta alguna idea de como hacerlo, evalue unas herramientas una llamada DBMoto y otra se llama DBConvert for Firebird & MSSQL; esta herramientas no me sincronizan a base de datos, lo realmente hacen es cada vez que se ejecuta borra todo en sql server y carga de nuevo la ta información.

alguno ha echo esto, alguna aplicación que alguien tenga que me puedo proporcionar; les agradeciera mucho alguna tip, de un herramienta, o como hacerlo.

mi base de datos consta de 635 tables de esas solo quiero sincronizar 316 tablas, mi base es pequeña solo tiene unos tiempo funcionado, tamaño actual 800 MB en 7 meses.

tal vez se pregunten por que no dejarlo hay, es toda nuestra operación se esta en sql tipo ERP, y deseamos tener la información del sistema que esta en firbird; poner tenerla en SQLsever y así ahorrarnos muchos dolores de cabeza al tener 2 motores de base datos e información dividida.

gracias.

Casimiro Notevi 29-05-2013 21:32:45

Cita:

Empezado por miguelxp (Mensaje 461485)
tal vez se pregunten por que no dejarlo hay, es toda nuestra operación se esta en sql tipo ERP, y deseamos tener la información del sistema que esta en firbird; poner tenerla en SQLsever y así ahorrarnos muchos dolores de cabeza al tener 2 motores de base datos e información dividida.

Si lo hicieras al revés, o sea, pasar todo a firebird, la frase sería: tenerla en Firebird y así ahorrarnos muchos dólares :)


Me temo que tendrás que hacer algo "manual", no he oido nada sobre una herramienta que haga lo que necesitas. Espero que tengas suerte.

PepeLolo 29-05-2013 22:04:54

Cita:

Empezado por miguelxp (Mensaje 461485)
alguno ha echo esto, alguna aplicación que alguien tenga que me puedo proporcionar; les agradeciera mucho alguna tip, de un herramienta, o como hacerlo.

mi base de datos consta de 635 tables de esas solo quiero sincronizar 316 tablas, mi base es pequeña solo tiene unos tiempo funcionado, tamaño actual 800 MB en 7 meses.

tal vez se pregunten por que no dejarlo hay, es toda nuestra operación se esta en sql tipo ERP, y deseamos tener la información del sistema que esta en firbird; poner tenerla en SQLsever y así ahorrarnos muchos dolores de cabeza al tener 2 motores de base datos e información dividida.

gracias.

¿Para qué dos servidores de BBDD distintos cuando puedes replicar firebird o sincronizar las tablas que desees en una segunda BBDD en firebird desde el mismo firebird?!!!:-|

donald shimoda 30-05-2013 01:34:22

Cita:

Empezado por Casimiro Notevi (Mensaje 461486)
Si lo hicieras al revés, o sea, pasar todo a firebird, la frase sería: tenerla en Firebird y así ahorrarnos muchos dólares :)


Me temo que tendrás que hacer algo "manual", no he oido nada sobre una herramienta que haga lo que necesitas. Espero que tengas suerte.

Como asi? Claro que hay:

Dbsync for firebird and ms sql.

http://dbconvert.com/convert-firebird-to-mssql-sync.php

Lo he usado, no migra todo a la perfección pero hace el 95% del trabajo. Recomendable. Tiene trial (importa los 50 primeros registros).

P.D: Opino lo mismo que Casimiro, pasa a todo a Firebird tío!

mamcx 30-05-2013 04:20:53

Si lo que quieres es tener una copia de las estructuras y tablas, tal cual, eso no tiene mucho sentido. En parte, porque tod sera en batch.

Si en cambio necesitas transformar los datos entre las 2 BD, eso si o si requiere programacion manual. Y no va a ser facil. Esto tambien implica en parte usar batch. Hacerlo en tiempo real es muy dificil.

Si necesitas tener acceso en Sql Server a datos de FB, entonces hay es donde Sql Server tiene cosas que borran a FB. Puedes usar por ejemplo:

Usando servidores enlazados puedes hacer operaciones CRUD desde sql a BD en otros motores.

Tambien tienes Los servicios de integracion donde se puede automatizar mucho de estos aspectos (incluyendo los 2 puntos anteriores). Normalmente se usan para alimentar BD de intelgencia de negocios y cubos pero son componentes que sirven para mirgrar datos entre BD y tablas y todo eso.

P.D: Yo me inclino mas por usar los servidores enlazados. La 2da opcion es migrar a un solo motor, cual depende de cual de las 2 BD es mas importante y facil de migrar. Sincronizar es una tarea dificil, es una de mis especialidades y sin embargo, es algo que prefiero evitar siempre que se pueda ;)

miguelxp 30-05-2013 16:54:58

nuestro fuerte y casi 45 años de informacion están en sql, con el tiempo hemos ido actualizando y migrando a versiones de sql mas nuevas, el sistema que se tiene el firebird, un sistema muy bueno fue una buena opción la compra del miso, en cual he tenido experiencia con otros manejadores de base datos en sincronizacion y se ha podido realizar; pero en firebird desconocida el motor, con el tiempo ya investigue todo lo bueno y lo malo; como todos lo manejadores de base datos; pasar a firebird, no es factible nuestra base de datos de sql tiene un ocupación de 860 gb; como en cual tenemos 4 servidores 2 respaldo y 2 centrales.

sobre el sync lo tengo en trial; pero todavía estoy entendiendole en la configuración tendrán, por hay un manual; ya realize la conexión y migración, pero cada vez que llama la tarea; dice borrando tablas y las crea de nuevo y copia la información, o que opciones seleccionar para llegar que me haga la sincronizacion.

la otra opción que había pensado y que me comento nuestro compañero del foro y moderador mamcx, tener que hace una base temporal; donde siempre este borrando y cargando todo de nuevo, y sincronizar esta base de datos temporal, con mi base de datos operativa de SQL; y esperando que pueda hacer la sincronizacion entre el mismo sql.

en estos meses puede hacer una tiger; el cual mediante una tabla estoy cachando, los update,delete e insert en mis tablas; asi que campo llave cambio, que tabla y que campo; ya en caso de no pueda encontrar alguna herramienta, tendria que hacer una programación, y estar realizando así la sincronizacion.

miguelxp 30-05-2013 16:57:39

sobre el sync lo tengo en trial; pero todavía estoy entendiendole en la configuración tendrán, por hay un manual; ya realize la conexión y migración, pero cada vez que llama la tarea; dice borrando tablas y las crea de nuevo y copia la información, o que opciones seleccionar para llegar que me haga la sincronizacion. el descargue como trial es que soncroniza he visto que hay mas, sync otro que migra, etc..
la version de sincronizacion tengo la 2.0.4; que opciones tienes tu seleccionadas para realizar la sincronizacion.

o un manual que tengas donald shimoda.

gracias.

mamcx 30-05-2013 17:34:35

SI entendiste que es lo que hace los servidores enlazados?

Permite hacer:

Código SQL [-]
select foo.id 
from firebird.db1.table1 foo, 
     sqlserver.db2.table2 bar 
where foo.name=bar.name

Gallosuarez 30-05-2013 19:13:54

Posible solución ...
 
Miguel:

Lee esta interesante publicación http://ibexpert.net/ibe/index.php?n=...birdReplicated

Este documento te dará un excelente ejemplo de como hacerle para lograr lo que tu quieres. Por cierto, este otro documento http://asfernandes.blogspot.mx/2009/...-firebird.html Da la pauta para hacer lo mismo que tu quieres, pero hay que esperar hasta Firebird 3, porque lo hace a través de disparadores utilizando lenguaje Java de lado del servidor.

Saludos,
Gerardo Suárez Trejo

jhonny 30-05-2013 19:15:15

Según lo que alcanzo a ver, sobre lo que necesitas, estoy de acuerdo en que la mejor opción para este caso es la de los servidores enlazados... Firebird puede tranquilamente con esas 86GB y hasta con más, pero es obvio que el trabajo para lograr la sincronización deseada es menor si se utiliza la opción que comenta mamcx.

miguelxp 30-05-2013 23:19:25

Sobre; el comentario de tigers y cachar las transacciones; realice unos; los cuales ya me esta monitoreando todas las trasacciones update, delete e inserts; en la base de datos, hasta ahorita es la parte mas viable que tengo tipo sincronizacion, el cual tengo desarrollar una aplicaccion para leerlas la tabla donde cacho las transacciones y posteriormente irme a los campos llaves afectados y replicador el sql server; y por otra parte tambien estaba viendo lo que comentaban de los servidores enlazados, estuve checando el OLEDB, solo he visto 2 uno que es de paga ibproveider, un poco caro y por lo que leeido es muy bueno, y por otro lado el OLE DB provider - ZStyle IBOLE, es version gratis; pero no logro consergir la version para instalarlo; consgue la dll; y la instale en win server 2008 x64; pero el SQL no lo detecta en listado de OLEDB, alguno de ustedes tendra el instalador o como hacerle para que aparesca el OLEDB con la dll que conseguei; la dll se llama ibole.dll, o tendran conocimiento de como poder hacer un vinculo entre ambos server de base de datos..

mamcx 30-05-2013 23:49:18

Tambien se puede usar drivers ODBC...


La franja horaria es GMT +2. Ahora son las 14:25:32.

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