PDA

Ver la Versión Completa : Actualizar datos de articulos


CORBATIN
25-04-2007, 23:05:02
Saludos a todos.
Tengo una base de datos con articulos y cada cierto tiempo me conecto a ftp para bajarme actualizaciones de algunos campos de esos articulos.

La base de datos con la que trabajo es firebird y con la que me bajo las actualizaciones esta con extensión .dbf.

Cada vez que quiero actualizar necesito saber como hacer, de la forma más rápida, buscar el articulo, comparar datos y si es diferente actualizar con el nuevo dato. Así en varios campos de cada articulos.
En el caso de que no lo encuentre, entonces darlo de alta. Tengo aprox. 20.000 articulos.

Ahí os dejo la consulta, como es normal, busco alguna/s sentencia/s sql para solucionar esto, enlacer dos bases de dato diferentes.

Otra cosa que había pensado era crear una tabla en firebird para albergar los datos de las tablas en dbf y entonces desde ahí, hacer las busquedas y actualizaciones basandome en el mismo tipo de base de datos.

Gracias.

Ñuño Martínez
26-04-2007, 13:03:05
Una duda, ¿cómo se dan de alta las noticias? Es decir, no entiendo muy bien lo de conectarse por FTP. ¿Te bajas el archivo de la base de datos y luego lo consultas con un cliente Firebird local?

Si ese es el caso, ¿no puedes conectarte en remoto de forma directa? Si no puedes, ¿no podrías generar un archivo XML (como, por ejemplo, un RSS) y que sea este el que te descargues? Existen componentes para Pascal que facilitan mucho la búsquedad de datos en archivos XML, y puede ser menos complicado que bajarte el archivo DBF y abrirlo.

Bueno, ya ves que tengo algunas dudas. A ver si puedes satisfacerlas y así podemos ayudarte más.

CORBATIN
26-04-2007, 22:29:00
Hola, bueno tal vez no me he explicado bien.
Básicamente lo que quiero es enfrentar dos tablas con datos sobre articulos, cuando en la comparación encuentren algo diferente me lo notifique y entonces dar mi confirmación si se hace o no (conforme lo estoy escribiendo me lo estoy imaginando con código).

Lo que realmente quiero saber, es como comparar dos tablas de datos de diferente procedencia (una de firebird y la otra con extensión .dbf) a través de una consulta de sql en delphi. O tal vez, como mejor opción, copiar los datos de la tabla de .dbf a una de firebird y entonces hacer todas las operaciones directamente en esa tabla de firebird creada con los datos.

Espero haber aclarado tus dudas, gracias y un saludo.

Ñuño Martínez
27-04-2007, 11:51:33
No se pueden comparar dos bases de datos diferentes con una sentencia SQL. Deberás conectarte a las dos, obtener las dos tablas por separado y compararlas registro a registro.

CORBATIN
10-05-2007, 00:54:45
Perdona la tardanza en contestar, pero es eso lo que estoy haciendo. Después de darle vueltas he dado con la solución. Hace tiempo que no programo en Delphi y me esta constando volver de nuevo al ritmo.

Gracias.