[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: [Ayuda] ODBC para CVS



Gracias Gunnar tratare de sacar algo de provecho de tu script..
Necesito estudiarlo.. No le entiendo ni madres.. pero entiendo algo de las sentencias SQL que pusiste en ellos.. Tendre que investigar como meter en tabla registro de otra tabla pero que sean de otro campo...

Thanks

Gunnar Wolf wrote:

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,






[Hilos de Discusión] [Fecha] [Tema] [Autor]