Fwd: Foxpro + ODBC + COPY TO AWS RDS

From: Francisco Olarte <folarte(at)peoplecall(dot)com>
To: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>, Ruben avila galindo <ruben2218(at)gmail(dot)com>
Subject: Fwd: Foxpro + ODBC + COPY TO AWS RDS
Date: 2019-07-07 15:14:01
Message-ID: CA+bJJbzXrTCv3qSe70ug4gCMNnYkXuOWN4xau0Uwqu6nxUzx-g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Copiando el mensaje a la lista, fallo mio ( Ruben, lo recibiras dos veces ).

Ruben:

On Sun, Jul 7, 2019 at 4:18 PM Ruben avila galindo <ruben2218(at)gmail(dot)com> wrote:
> Hola amigos tengo un caso de un sistema en FOXPRO que trabaja con DBF y he probado usando el COPY persons TO 'C:\tmp\persons_db.csv' DELIMITER ',' CSV HEADER; enviando informacion hacia PostgreSQL con ODBC de manera local y funciona pero cuando quiero enviar hacia PostgreSQL en AWS no me funciona el COPY to a ver si alguien tuvo este caso.

Esta explicado muchio mejor en el manual, pero te hago un resumen por
si tienes problemas con el ingles.

Por lo que dices, parece que no tienes problema ninguno para sacar los
datos de foxpro y localizarlos y formatearlos correctamente para
postgres. Damos eso por conseguido.

Primero, copy to se usa para SACAR informacion de postgres, para METER
se usa copy-from. Te explico para "enviar hacia pg", copy from, si es
al reves cambia copy-from por copy-to y stdin por stdout y lo que
sigue se aplica mas o menos.

copy from ARCHIVO se usa para cargas donde tienes acceso a un disco
del servidor ( suyo o uno compartido por red ). Necesitas dos cosas,
una conexion a la base de datos para mandar el comando y un disco
accesible. Como no tienes acceso al disco no lo puedes usar para rds.

Pero hay una variante, "copy from stdin", que espera que le mandes el
comando y luego metas los datos por la misma conexion de base de
datos, el mismo socket.

Esa se puede usar de varias formas. No conozco odbs, pero en jdbc, que
sera parecido, primero mandas el comando y luego tienes unas rutinas
para mandar las filas.

Otra posibilidad es usar el comando "\copy" del programa "psql".
Cuando tu haces, en el psql, "\copy from ARCHIVO" lo que el psql hace
es mandar al servidor por la conexion un "copy from stdin" y luego
leer el archivo LOCAL y mandarlo. Esa es la forma que se suele usar
cuando quieres cargar, p.e., un archivo que tienes en tu ordenador
personal en un servidor remoto.

Por lo que me cuentas tiene pinta de que sin mas que conectar a la BD
con psql y hacer un "\copy tabla from c:\tmp\loquesea" te deberia ir.

Con pgadmin y similares tambien se puede, pero no se como, para estas
cosas yo siempre prefiero tirar del psql que es el que menos problema
me da seimpre ( es simple y lo entiendo mejor ).

Francisco Olarte.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jose Mercedes Venegas Acevedo 2019-07-08 05:12:11 Re: Instalacion desatendida de Postgres
Previous Message Ruben avila galindo 2019-07-07 14:21:04 Foxpro + ODBC + COPY TO AWS RDS