He pensado en hacer un for que tire de dos array, uno para los archivos CSV y otro para las TABLAS. Existe una concordancia entre el nombre del fichero y la tabla. Por ejemplo:
"trua_vm_mensual.csv" actualiza la tabla "tbl_vm_tru"
"trub_vm_mensual.csv" actualiza la tabla "tbl_vm_tru"
"cru_vm_mensual.csv" actualiza la tabla "tbl_vm_cru"
"lrua_vm_mensual.csv" actualiza la tabla "tbl_vm_lru"
"lrub_vm_mensual.csv" actualiza la tabla "tbl_vm_lru"
Este es código que funciona para una carga:
Using perl Syntax Highlighting
- use warnings;
- use strict;
- use v5.10;
- use DBI;
- my $dbh = DBI->connect('DBI:mysql:spadb;mysql_local_infile=1";host=localhost','XXXX','XXXXXX') or die "Connection Error: $DBI::errstr\n";
- my $sql = q(LOAD DATA LOCAL INFILE 'D:/import/trub_vm_mensual.csv' REPLACE INTO TABLE `spadb`.`tbl_vm_tru` FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (@ColVar1, `TimeStamp`, `MetricId`, `Entity`) SET `Value` = REPLACE(REPLACE(@ColVar1, '.', ''), ',', '.'););
- my $sth = $dbh->prepare($sql);
- $sth->execute() or die "SQL Error: $DBI::errstr\n";
- $sth->finish();
- $dbh->disconnect();
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Versión:
This is perl 5, version 18, subversion 2 (v5.18.2) built for MSWin32-x86-multi-thread-64int
Gracias por anticipado