• Publicidad

Problemas con DBI

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Notapor kidd » 2008-03-05 12:07 @546

Hola:

Tiene razón explorer en que el error es del CGI no del DBI. Ahora, viendo tu código me parece que para poder indicarte cuál podría ser el error sería necesario ver el código en donde recibes el array generado por tu función.

El error se genera cuando el array @result no está definido, por eso necesitamos ver el otro lado del código para determinar porqué es esto.

Lo que podrías hacer para regresar algún mensaje cuando no hay registros encontrados es verificar si el array está definido:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
if( @result ){
    #registros
}
else{
    #no hay registros
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Publicidad

Notapor Fegna » 2008-03-06 09:32 @438

Gracias por responder Uriel, pero el programa se caía al ejecutar:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$sth->execute();
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Y eso es antes de cargar o no el @result

Con
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
CGI::Carp qw(fatalsToBrowser);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
ya no se cae.

Como dice un amigo: "Oscuridades del software", aunque pienso que es el procedimiento almacenado el que genera el error, y que se da cuando no encuentra registros, ya que en
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
        $stmt = "BEGIN
                ClieObtSimulacionPlanii_PKG.ClieObtSimulacionPlan(
'',:TIPO_PLAN,:REGION,:COTIZACION_UF,:LISTA_BENEF,5,5,:CSR);
                END;"
;
        $sth = $conn->prepare($stmt);
       
        $sth->bind_param_inout( ":TIPO_PLAN", \$mytipo_plan, 12);
        $sth->bind_param_inout( ":REGION", \$myregion, 1);
        $sth->bind_param_inout( ":COTIZACION_UF", \$mycotizacion_uf, 1);
        $sth->bind_param_inout( ":LISTA_BENEF", \$mylista_benef, 1);
        $sth->bind_param_inout( ":CSR", \$csr, 0, { ora_type => ORA_RSET } );
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

le estoy indicando que el retorno es un cursor, tal vez no me está devolviendo lo esperado.

Es el problema cuando no tenemos acceso a ver el procedimiento, y si Microsoft le hecha la culpa siempre a otro programa, ¿por qué no voy a poder hacerlo yo??? :twisted:

En todo caso, el problema está resuelto :lol:
Fegna
Perlero nuevo
Perlero nuevo
 
Mensajes: 28
Registrado: 2008-01-08 09:29 @437
Ubicación: Santiago, Chile

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados