Exportar tablas de mysql a csv con perl

#!/usr/bin/perl
#
# Obtiene estadisticas diarias sobre ociojoven.com y ojgames.com
#

use DBI;

&ConnectDatabase;
$path=»/tmp/product.csv»;

@tablas=(
«eZTrade_Category»,
«eZTrade_Quantity»);

foreach $tabla (@tablas){
$path=»/tmp/$tabla.csv»;
$sql= «SELECT * INTO OUTFILE ‘$path’ FIELDS TERMINATED BY ‘;’ ENCLOSED BY ‘\»‘ LINES TERMINATED BY ‘\r\n’ FROM $tabla»;

$foo = &QueryOneFetch ($sql );
}

&DisconnectDatabase;

#Nos conecta a la base de datos que especifiquemos
sub ConnectDatabase {
$database = «produccion»;
$host=»dbserver»;
$data_source = «DBI:mysql:database=$database;host=$host;port=3306»;
#$data_source = «DBI:mysql:$database»;
$username = «user»;
$password = «password»;
$dbh = DBI->connect( $data_source, $username, $password)
or die «Can’t connect to $data_source: $dbh->errstr\n»;
}

# Desconecta de la base de datos
sub DisconnectDatabase {
$dbh->disconnect;
}

#Ejecuta un query SQL y devuelve su resultado
sub Query {
local ($query) = @_;
$sth = $dbh->prepare(«$query»);
$rc = $sth->execute;
$row = $sth->fetchrow_arrayref;
$sth->finish;
return $rc;
}

# Realiza una consulta y devuelve solo la primera linea
sub QueryOneFetch (){
local ($query) = @_;
$sth = $dbh->prepare(«$query»);
$rc = $sth->execute;
if ( @row = $sth->fetchrow_array ) {
$ret = $row[0];
}
$sth->finish;

return ($ret);
}


Publicado

en

por

Etiquetas:

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.