• Publicidad

HTML::ReportWriter

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

HTML::ReportWriter

Notapor Lor » 2008-10-08 08:21 @390

Agradecería si me pudiesen ayudar a encontrar lo que estoy haciendo mal en la utilización de este módulo HTML::ReportWriter.

Solo estoy probando con los ejemplos que muestra el CPAN, y no hace nada. No tira error tampoco. La pantalla no muestra el reporte.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -w

 use strict;
 use HTML::ReportWriter;
 use CGI;
 use Template;
 use DBI;


 my $dbh = DBI->connect('DBI:mysql:tabla', 'usuario', 'clave');

 my $report = HTML::ReportWriter->new({
                DBH => $dbh,
                DEFAULT_SORT => 'nombre_equipo',
                SQL_FRAGMENT => 'FROM equipos ',
                COLUMNS => [ 'nombre_equipo', 'codigo_equipo' ],
 });

 $report->draw();
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Mirando el log del Apache me tiran los siguientes errores a lo mejor puede ayudar:

1) Primero la sentencia sql se genera AUTOMÁTICAMENTE con LÍMITE CERO: "Executing SQL: SELECT SQL_CALC_FOUND_ROWS nombre, codi_equipo, id_equipo FROM equipos LIMIT 0"

2) Aparece lo siguiente : Can't locate object method "new" via package "Template" (perhaps you forgot to load "Template"?) TENGO INSTALADO el módulo Template.

¡¡¡ GRACIAS !!! :D
Lor
Perlero nuevo
Perlero nuevo
 
Mensajes: 187
Registrado: 2005-04-28 05:47 @282

Publicidad

Notapor explorer » 2008-10-08 11:35 @524

Haz la prueba de hacer un perl -MTemplate -e 1.

para saber si está bien instalado...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Lor » 2008-10-10 05:07 @255

La instalación correcta, no sale ningún tipo de error.

No entiendo la causa de porqué cuando genera la sentencia SQL le anexa al final por si solo " LIMIT 0 " ¿Dónde está SETEADO eso?. Con esa clausula el resultado del select es siempre vacío. ¿¿¿Pero cómo hago para sacarla???

Otra cosa que detecté es que debido a que estoy trabajando con sesiones CGI::SESSION esto también me esta ocasionando problemas.

¡¡¡Si hay alguna idea de ayuda SERÁ BIENVENIDA!!!
Lor
Perlero nuevo
Perlero nuevo
 
Mensajes: 187
Registrado: 2005-04-28 05:47 @282

Notapor explorer » 2008-10-10 05:32 @272

Según veo en el código fuente, el valor de LIMIT lo pone el valor del parámetro RESULTS_PER_PAGE, del módulo HTML::ReportWriter::PagingAndSorting que HTML::ReportWriter usa.

La documentación dice que, si no se indica nada, ese parámetro vale 25. Y, en efecto, así está puesto en el código.

Pero entonces es muy raro lo que te pasa, porque dices que te sale un 0.

Ahora mismo no puedo hacerlo yo, pero prueba a colocar
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
RESULTS_PER_PAGE => 25,
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
en la creación del $report. Al menos, para ver si se trata de un bug del módulo...

En cuanto a lo de CGI::Session, es otro tema que también se las trae. Lleva un rato entender el funcionamiento de las sesiones, pero, como todo en la vida, una vez que hecha a andar, va perfecto (si descontamos los problemas por permisos en la creación de ficheros del lado del servidor, etc. :) )

Si nos das más detalles de los problemas, mejor.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Lor » 2008-10-13 17:06 @754

Deje la aplicación limpia, sacándole todo lo que podría generar error. Por ejemplo sesiones, y NO FUNCIONA. Los módulos están bien instalados, ya los verifiqué. En el LOG tira lo siguiente:

Código: Seleccionar todo
Can't locate object method "new" via package "Template"


Abrí el módulo HTML::ReportWriter y el problema se genera en la función draw en la sentencia new:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  my $template = Template->new();
  my $url = $self->{'CGI_OBJECT'}->url( -absolute => 1, -query => 1 );
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Bueno, muchas gracias.
Lor
Perlero nuevo
Perlero nuevo
 
Mensajes: 187
Registrado: 2005-04-28 05:47 @282

Notapor explorer » 2008-10-13 17:24 @767

¿Qué versión tienes?

Según veo en el código de Template.pm, el método new() está implementado en Template::Base, en el fichero Template/Base.pm.

Si no te funciona, tampoco te funcionará entonces esto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
perl -MTemplate -le '$x = Template->new()'
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Lor » 2008-10-13 19:06 @838

La versión que tengo es HTML::ReportWriter 1.4.1.

¡¡¡Saludos y Gracias!!!
Lor
Perlero nuevo
Perlero nuevo
 
Mensajes: 187
Registrado: 2005-04-28 05:47 @282

Notapor explorer » 2008-10-13 19:22 @848

Me refería a la versión de Perl.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Lor » 2008-10-14 05:01 @250

Estoy atrasada: 5.8.8. No he podido migrar a la 5.10 debido a que trabajo bajo Windows y hay módulos tales como el DBD::mysql que todavía no aparecen para la 5.10 y los necesito.

Bueno ¡¡¡MUCHAS GRACIAS!!!
Lor
Perlero nuevo
Perlero nuevo
 
Mensajes: 187
Registrado: 2005-04-28 05:47 @282

Notapor explorer » 2008-10-14 05:20 @263

El 5.8.8 es el mejor, hasta ahora.

¿Has probado a ejecutar perl -MTemplate -le "$x = Template->new()" desde la línea de comandos?

Veo que estás en Windows.

Según veo, la instalación de Template requiere además la instalación de los módulos
* AppConfig
* Spreadsheet::SimpleExcel
* Spreadsheet::WriteExcel
* IO::Scalar
* OLE::Storage_Lite

Si lo instalo todo me sale
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
joaquin:~ $ perl -MHTML::ReportWriter -le '$hrw = HTML::ReportWriter->new()'
Argument 'DBH' is required at /usr/lib/perl5/site_perl/5.8.8/HTML/ReportWriter.pm line 245.
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
pero ya reconoce la presencia de Template.

La versión última es la 2.20. En ActiveState veo que está la 2.19 de Template-Toolkit.

¿Has usado el gestor de paquetes PPM?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Siguiente

Volver a Módulos

¿Quién está conectado?

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

cron