[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Iván Caballero Cano dijo [Mon, Oct 31, 2005 at 11:31:03AM -0600]: > Lo que pasa es que los cambios que debo hacer en mis tablas de MYSQL > salen en el diario oficial de la federacion > y vienen en tablas de documentos de word, esas tablas las proceso de > manera que las convierto en un archivo de texto tipo CSV > con cada campo separado por comas o punto y coma o lo que sea... no hay > forma que yo conosca de pasar directamente esos archivos > o tablas a alguna base de datos que use como dbase o mysql, es por eso > que de todos modos tengo que convertir eso a Archivos de texto. > Y luego ya estando en texto ordenado las puedo convertir en algun > formato de BD para interactuar con ellas.. pero eso me toma un poco mas > de tiempo. Haber comenzado por ahí ;-) Digamos que tienes un depósito de .csv en /tmp/tablas, con los datos que recibes del DOF, y una base de datos PostgreSQL llamada 'datos'. Claro está, este código no tiene nada de garantía (ni siquiera lo he corrido una vez, lo escupí directo del cerebro al correo)... Pero te muestra lo básico. Cada que recibes tus datos del Diario Oficial, los subes a la BD de verdad (sugiero PostgreSQL, ahora que si por alguna perversión prefieres MySQL sólo tienes que cambiar el Pg por mysql). ---------------------------------------------------------------------- #!/usr/bin/perl use strict; use warnings; use DBI; my ($dbh_csv, $dbh_pg, $sth_trae, $sth_mete); $dbh_csv = DBI->connect('dbi:csv:f_dir=/tmp/tablas') or die 'No pude abrir los datos en CSV'; $dbh_pg = DBI->connect('dbi:Pg:dbname=datos','user','p4sswd') or die 'No pude abrir la conexión a Postgres'; $sth_trae = $dbh_csv->prepare('SELECT campo1, campo2, campo3, campon FROM tabla'); $sth_mete = $dbh_pg->prepare('INSERT INTO tabla (campo1, campo2, campo3, campon) VALUES (?, ?, ?, ?)'); $sth_trae->execute; while (my @data = $sth_trae->fetchrow_array) { $sth_mete->execute(@data); } ---------------------------------------------------------------------- Saludos, -- Gunnar Wolf - gwolf en gwolf org - (+52-55)1451-2244 / 5623-0154 PGP key 1024D/8BB527AF 2001-10-23 Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF