[Php-avanzado] actualizar base de datos remota?
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Vie Ago 7 01:17:04 ART 2009
Hola Hernán,
El mié, 05-08-2009 a las 23:13 -0300, Hernán Galván escribió:
> Hola, escribo para ver si alguien sabe si es factible hacer lo
> siguiente:
>
> Hay una serie de clientes que en sus servidores locales corren un
> programa en php con su correspondiente base de datos mysql.
> A su vez, hay un sistema en un servidor compartido... básicamente los
> clientes son administradoras de consorcios, y el sistema
> que se encuentra en un servidor compartido (sectorhosting) es una
> página web.
>
> Lo que se me pidió es que desde el sistema local de cada
> administradora, se puedan subir los resúmenes de cuenta de los
> propietarios para que
> estos puedan verlos desde la página web. Por otro lado, el sistema
> local tiene un listado de los propietarios, y se debe poder
> seleccionar aquellos a los cuales
> se les permita acceder a esos resumenes de cuenta. Entonces, en la
> base de datos de la página web debe haber una tabla de propietarios y
> otra con los
> resúmenes de cuenta. El usuario de la administradora de consorcios
> debe presionar un botón en el sistema local, y actualizar así los
> datos en la base de datos remota (Página web).
Se entiende a idea.
El sistema local lo podés modificar para que exporte lo que te haga
falta? Si la respuesta es sí, la cosa no puede ser muy complicada.
> Cuando la persona encargada del relevamiento me pasó la tarea supuso
> que subir el listado de clientes desde la base datos mysql a la
> remota
> era tán sencillo como hacer un mysql_connect con la ip del proveedor y
> ejecutar un insert en el servidor local.
Bueno, más o menos, salvo que a cada actualización borres todo y lo
vuelvas a crear. Si lo que tenés que hacer es sincronizar los datos, hay
que escribir un mecanismo para implementar dicha sincronía...
> Eso da error, supongo que porque
> al ser un servidor compartido no se permite acceder remotamente a la
> base de datos.
No da error porque es compartido, sino porque por buenas razones de
seguridad, vale la pena evitar que usuarios remotos intenten loguearse a
la DB.
> La pregunta es: ¿Es posible hacer eso?, ¿Es la manera correcta de
> realizar una actualización de una base de datos remota a partir de
> datos de una local?
> Otra forma que se me ocurre es hacer un xml, subirlo por ftp (creo que
> es posible con php, aunque no estoy seguro) y leerlo con un cron en el
> server remoto... en realidad
> esa era mi idea original, pero en fin...
>
> ¿Alguna sugerencia?
Dado que no te vas a poder conectar desde afuera a la DB, tenés tal y
como decís que implementar un mecanismo para subir los datos.
Puede ser una XML, un CSV, un formato inventado o directamente la
salida de un vuelco de la DB para ejecutar en destino.
Para la subida de esta cosa, si hay intervención del usuario ponelo
simplemente en un formulario con un <input type="file">.
Si el sistema local lo tiene que hacer "solo" o de forma transparente
al usuario, podés hacerlos por FTP (lo que implica la tara CRON) o podés
hacer una subida por GET o POST a la web usando CURL o NCURSES para
ahorrarte el CRON.
> Desde ya muchas gracias!
>
Por nada!
Ya nos contarás como te fue...
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado