• Publicidad

Compilando con perl2exe y DBI (mysql)

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Compilando con perl2exe y DBI (mysql)

Notapor Dgrande » 2012-05-30 13:41 @611

Hola amigos. a Ver si me podéis echar una mano. Me apasiona este lenguaje, pero me encuentra con un problemilla.

Recientemente me compré la licencia del perl2exe para Windows y he tenido diferentes problemas a la hora de compilar con el programa perl2exe. La verdad sea que siempre fueron solventados pues en la red siempre me dieron soluciones.

Ahora me encuentro con uno que no salgo. Es un programa escrito en Tk que realiza unas tareas de mantenimiento en una base de datos MySQL externa a través del módulo DBI.

Cuando compilo me da errores referentes a que no localiza las .dll, he probado diferentes fórmulas de incluirlas al compilar, pero no consigo que funcione.

Me imagino con tanta gente experta en Perl por este foro, encuentre a alguien, que de seguro, se haya encontrado con el mismo problema.

Por otro lado ¿existe algún compilador que genere exe más recomendado que compile desde Windows para diferentes S.O. como lo hace el perl2exe?

Otra cuestión para el administrador del foro: estoy suscrito desde hace mucho tiempo ya a algunos foros y nunca recibo los correos de nuevos hilos, ¿es normal esto?

Gracias, un saludo a todos los perleros.
Dgrande
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2010-02-03 04:59 @249

Publicidad

Re: Compilando con perl2exe y DBI (mysql)

Notapor explorer » 2012-05-30 14:29 @645

Hay más hilos hablando de perl2exe. Usa el sistema de búsqueda.

Si quieres recibir actualizaciones, es mejor que te unas al twitter @perlenespanol. O mediante los canales RSS (el general es rss/news/digest/rss.xml )
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Compilando con perl2exe y DBI (mysql)

Notapor Dgrande » 2012-05-30 15:26 @684

Bueno, después de alguna prueba lo conseguí, así que dejo un ejemplo y los pasos de como lo conseguí por si alguna otra persona se encuentra con el mismo problema en un futuro.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #perl2exe_include Tk
  2. use DBI;
  3. use DBD::mysql;
  4. use Tk;
  5.  
  6. my $mw = MainWindow->new;
  7. $mw->title('perl en espanyol');
  8. $mw->geometry('200x30');
  9. my $hello = $mw->Button(
  10.     -text    => 'Ver Tablas',
  11.     -command => \&Ver_Tablas
  12. );
  13. my $exit = $mw->Button(
  14.     -text    => 'Salir',
  15.     -command => [ $mw => 'destroy' ]
  16. );
  17. $hello->pack( -side => 'left' );
  18. $exit->pack( -side => 'right' );
  19. MainLoop;
  20.  
  21. sub Ver_Tablas {
  22.     my $Entry_MYSQL_Tipo     = "mysql";
  23.     my $Entry_MYSQL_Servidor = "0.0.0.0";
  24.     my $Entry_MYSQL_Usuario  = "usuario";
  25.     my $Entry_MYSQL_Clave    = "clave";
  26.     my $Entry_MYSQL_Basedato = "mibd";
  27.  
  28.     my $dbh_leer = DBI->connect( "DBI:$Entry_MYSQL_Tipo:database=$Entry_MYSQL_Basedato;host=$Entry_MYSQL_Servidor",
  29.         "$Entry_MYSQL_Usuario", "$Entry_MYSQL_Clave" );
  30.     my $sth = $dbh_leer->prepare("show tables");
  31.     if ( !$sth ) {
  32.         die "Error:" . $dbh_leer->errstr . "\n";
  33.     }
  34.     if ( !$sth->execute ) {
  35.         die "Error:" . $sth->errstr . "\n";
  36.     }
  37.  
  38.     while ( @row = $sth->fetchrow_array ) {
  39.         print "$row[0]\n";
  40.     }
  41. }
  42.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

Lo compilo con perl2exe de la siguiente manera:

perl2exe.exe vertablas.pl

Nos generará el fichero ejecutable “vertablas.exe”. Si ejecutamos “vertablas.exe” nos encontraremos con un error de que no se localiza “libmysql.dll”.

Buscar “libmysql.dll” en “auto/DBD/mysql/”.

Copiamos “libmysql.dll” en el mismo directorio donde se ejecuta “vertablas.exe” y al fin funciona.

Nota: no incluir tal y como indica Indigo
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
#perl2exe_include DBI
#perl2exe_include DBD::mysql
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Espero que os sirva de ayuda,
Diego
Dgrande
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2010-02-03 04:59 @249


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado