Hola, ¿cómo están?
Aquí traigo otro problema que se me está dando, según yo la sintaxis es correcta.
Al grano: el
script se conecta a una base de datos y ejecuta un
store procedure (SP) de MySQL. El problema es que no sé por qué se cae cuando trato de capturar el retorno del SP.
Using perl Syntax Highlighting
#!/usr/bin/perl -w
use strict;
use DBI;
my $usuario="root";
my $pass="";
my $host="localhost";
my $db_name="edo";
my $string_coneccion= "DBI:mysql:host=$host;database=$db_name";
my $db_1 = DBI->connect ("$string_coneccion","$usuario","$pass") or die "no conecta";
#my $query = $db_1 -> prepare('select * from rutas_archivos;') or die ("Error al consultar informe: ");
my $query = $db_1 -> prepare('call lee_rutas();') or die ("Error al consultar informe: ");
$query->execute();
my @data;
open (SALIDA,">/home/scrip_perl/ruta.txt");
while(@data = $query-> fetchrow_array())
{
#$data[0] = '';
#$data[1] = '';
print SALIDA $data[0]."\n";
}
close(SALIDA);
$query-> finish;
$db_1->disconnect;
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
El SP es simple: hace un
select de una tabla y ya, si lo ejecuto del MySQL corre perfectamente
Using sql Syntax Highlighting
BEGIN
SELECT ruta FROM rutas_archivos
LIMIT 1;
END
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Este es el error que me da:
Using text Syntax Highlighting
perl mueve_archivos.pl
DBD::mysql::st execute failed: PROCEDURE edo.lee_rutas can't return a result set in the given context at mueve_archivos.pl line 19.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at mueve_archivos.pl line 23.
[root@localhost scrip_perl]#
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4