Re: Fwd: Actualizar o insertar datos en postgres de SQL Server

From: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
To: david buenaño <davidbuenanio(at)gmail(dot)com>, "jvenegasperu (dot)" <jvenegasperu(at)gmail(dot)com>
Cc: Francis Santiago <santiagocfc(at)gmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fwd: Actualizar o insertar datos en postgres de SQL Server
Date: 2016-07-26 18:59:41
Message-ID: BLUPR15MB0113A18A76B0D991E8FDEDDEE30E0@BLUPR15MB0113.namprd15.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Si es algo asi iria por 3 un script en Java, Perl, PHP o lo que quieras que actualice eso , y listo , no me complicaria mas. Te diria con FDW pero no quiero complicarme y como es mensual en cron job

________________________________
From: pgsql-es-ayuda-owner(at)postgresql(dot)org <pgsql-es-ayuda-owner(at)postgresql(dot)org> on behalf of david buenaño <davidbuenanio(at)gmail(dot)com>
Sent: Wednesday, July 13, 2016 1:34 PM
To: jvenegasperu .
Cc: Francis Santiago; pgsql-es-ayuda
Subject: Re: [pgsql-es-ayuda] Fwd: Actualizar o insertar datos en postgres de SQL Server

Hola, muchas gracias por la ayuda, ya voy a hacer lo que me indicas.

efectivamente puede ser que esté subvalorando pentaho o quizás estoy explicando mal mi necesidad.

El negocio básicamente es que tengo un sistema que administra el pago de un bono o subsidio en mi país para lo cual de acuerdo a la normativa que tiene este bono, tengo que realizar cruces de datos mensualmente con diferentes instituciones como por ejemplo para saber si la persona ha fallecido, entre mucha otra información que posee de otras instituciones. Sin embargo, en el mismo sistema parte del negocio, van ingresando información que recopilan en visitas domiciliarias que también influye para el pago o no.

Actualmente las instituciones nos entregan en un archivo plano txt y manualmente cargo en una tabla y de esa tabla actualizo en las tablas que requiero.

La razón por la cual planteo la consulta de la interconexión con sql server es que donde llegan directamente esos archivos es a otra instancia de esta institución, que ellos cargan en su base de datos y para no realizar un doble proceso de carga quiero consumir desde mi base de datos solo lo que requiero.

Y con toda la información que se actualiza una vez por mes trabajan a diario todos los responsables vinculados a la gestión de este bono, verificando información de cada uno de los registros.

Finalmente, expuesto lo anterior, creo que para lo que requiero, debido a que la necesidad es actualizar la información para el trabajo por cada uno de los registros que opera con mi aplicativo, no me serviría pentaho, pues necesitaría que la información esté actualizada en postgres para el consumo de la informació

Espero haber aclarado más mi problema.

PD: Tal vez por mi desconocimiento de pentaho, puede ser que esté equivocado y lo mejor sea utilizar esa herramienta, voy a leer la información proporcionada y les contaré como me fue. Muchas gracias nuevamente

El 12 de julio de 2016, 23:45, jvenegasperu . <jvenegasperu(at)gmail(dot)com<mailto:jvenegasperu(at)gmail(dot)com>> escribió:
Hola David
Me sorprende que digas que Pentaho no te sirve o te estoy entendiendo mal quiza

Veras yo tengo una situación similar mensualmente debo actualizar mi base de datos postgres de una base de datos oracle.de<http://oracle.de> hecho en algunos casos hago actualizaciones diarias otras semanales quincenales y mensuales

Creo que lo que te sugiere Francis seria lo ideal pentaho es excelente para estas situaciones.

aqui te dejo el link de pentaho
http://community.pentaho.com/projects/data-integration/

y aqui un buen manual
http://wiki.pentaho.com/display/EAIes/Manual+del+Usuario+de+Spoon

Si te planteas las transformaciones y los jobs de pentaho como si fueran capas o clases en programación de seguro migrar los datos a postgres te resultara super facil seria mas o menos asi:

0.- Crea tus scripts con los datos que quieres obtener haciendo pruebas primero dentro del propio motor de BD origen y destino luego usaras esos scripts como primeros y ultimos pasos en las transformaciones

1.- crea las transformaciones en pentaho trabajando con pocas tablas digamos unas 4 o 5 no importa si tienes que procesar 30 tablas te sugiero hacer pequeñas transformaciones es como si en programacion estuvieras separando en archivos para mejorar su mantenimiento.

2.- Crea un trabajo donde vayas juntando las transformaciones. esto debe ser asi por si cambia la logica de negocio el trabajo seguira siendo el mismo y probablemente solo tengas que alterar alguna de las transformaciones sin tener que buscar dentro de todo un archivo complejo

3.- Genera una tarea programada para que ejecute el trabajo segun la frecuencia que necesitas mientras te tomas un cafe ;-)

saludos y espero te sirva

PD: hay casos en los que pentaho te da tipo de dato UNKNOW y no se puede migrar directo es decir alguien crea su propio tipo de dato que pentaho no entiende pero que si lo revisas finalmente es un dato cadena fecha etc en esos casos debes poner manualmente el tipo de dato que recibiras y luego si quieres al recibirlo lo parseas con un trigger o algun otro mecanismo y ya lo tienes igual que en el origen saludos.

El 12 de julio de 2016, 11:07, david buenaño <davidbuenanio(at)gmail(dot)com<mailto:davidbuenanio(at)gmail(dot)com>> escribió:
Hola, Muchas gracias por la respuesta, sin embargo, para lo que requiero no me sirve, debido a que para las reglas del negocio y los controles puestos requiero que sea actualizado mes a mes la base de datos de postgres.

Actualmente se realiza el el cruce y actualización de información en mi base de datos cargando varios archivos, básicamente un procesamiento por lotes. Pero para el negocio institucional, se alojarán todos los archivos de otras instituciones (7) en una base de datos en SQL Server (maneja un sistema más grande) y de ahí necesito actualizar en postgres.

Muchas gracias nuevamente

El 12 de julio de 2016, 10:31, Francis Santiago <santiagocfc(at)gmail(dot)com<mailto:santiagocfc(at)gmail(dot)com>> escribió:
David!

Haz pensado en utilizar herramientas adicionales como Pentaho? son bastante buenas para resolver este tipo de inconvenientes. Creas una ETL y listo. Creo es la solución más optima. Yo la he usado con MySQL, Oracle hacia PostgreSQL, por ejemplo.

Saludos;

El 12 de julio de 2016, 11:14, david buenaño<davidbuenanio(at)gmail(dot)com<mailto:davidbuenanio(at)gmail(dot)com>> escribió:
Hola, deseo actualizar algunos campos que tengo en una base de datos de postgres de una base de datos de SQL server que se encuentra en otro servidor.

Actualmente, lo realizo manualmente descargandome un reporte de la base de datos de SQL server y manualmente lo cargo en una tabla que creo en postgres y actualizo los campos que requiero combinando según coincida, sin embargo, este es un proceso mensual que deseo automatizar.

Adicionalmente hay que considerar que de la base de datos en SQL server solamente tengo privilegios de consulta, mientras que en la de postgres soy el DBA.

Aproximadamente los registros a actualizar serían unos 70.000

Me he planteado tres posibilidades:

1) Linkear de alguna manera entre las dos bases de datos y mediante procesos almacenados en postgres actualizar todos los campos que requiero y mediante un job o simplemente llamando a la función que crearía para actualizar o insertar los datos que requiero.

2) Mediante un aplicativo por ejemplo realizado en JAVA crear el procedimiento para que actualicen los registros.

3) Seguir realizando todo manualmente.

Agradezco mucho su ayuda orientandome cual sería la mejor posibilidad

--
Francis del Carmen Santiago Cermeño
Ingeniero en Informática
Certification PostgreSQL Associate
Certification PostgreSQL 9.4 Professional
Twiter: sancfc
Celular: +56952456172<tel:%2B56952456172>
[LinkedIn]
https://www.linkedin.com/in/sancfc

--
José Mercedes Venegas Acevedo
cel Mov RPC 964185205

skype jvenegasperu
facebook jvenegasperu
<mailto:jvenegasperu(at)gmail(dot)com>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo E. Villanueva 2016-07-27 12:12:15 Re: hash
Previous Message Edwin Quijada 2016-07-26 18:57:07 Re: Stock Actual de Productos