Página 1 de 2

Problemas con DBD:mysql

NotaPublicado: 2008-03-24 07:37 @359
por iperezmena
Hola,
estoy intentando conectarme a una BD Mysql con un script Perl, pero me estoy obteniendo el siguiente error:

Código: Seleccionar todo
install_driver(mysql) failed: Can't locate loadable object for module DBD::mysql in @INC (@INC contains: D:/usr/site/lib D:/usr/lib .) at (eval 5) line 3
Compilation failed in require at (eval 5) line 3.
Perhaps a module that DBD::mysql requires hasn't been fully installed


Supongo que no tengo el módulo DBD:mysql correctamente instalado. Lo he intentado pero soy incapaz de instalarlo. Me he descargado la última versión del módulo en CPAN (DBD-mysql-4.006) pero tanto al hacer el perl makefile.pl (no sé si tengo que ejecutar esto para instalarlo) obtengo un error (me da un error con las librerías) o al intentar instalarlo desde ppm (ppm install dbd-mysql) también me da error.
Llevo ya varios días con ello y no consigo dar con la solución.
A ver si alguien puede ayudarme.

Muchas gracias y un saludo.
Ignacio

NotaPublicado: 2008-03-24 08:34 @399
por explorer
Bienvenido a los foros de Perl en Español.

Si tienes la distribución de Perl de ActiveState, siempre deberías usar el gestor PPM.

¿Qué error te da al usar PPM?

NotaPublicado: 2008-03-24 08:36 @400
por kidd
Hola Ignacio:

Lo extraño es que el módulo DBD::MySQL viene por defecto cuando instalas el ActivePerl.

Intenta ejecutar los siguiente comandos con el ppm:

Código: Seleccionar todo
ppm uninstall DBD-mysql

ppm install http://theoryx5.uwinnipeg.ca/ppms/DBD-mysql.ppd


Si tienes la última versión del ActivePerl entonces en vez del ppm deberás de ejecutar el ppm-shell.


Saludos

NotaPublicado: 2008-03-24 09:26 @435
por iperezmena
explorer escribiste:Bienvenido a los foros de Perl en Español.

Si tienes la distribución de Perl de ActiveState, siempre deberías usar el gestor PPM.

¿Qué error te da al usar PPM?



Hola,

el error que obtengo es:

ppm install failed: Can't find any package that provides DBD-mysql.
De todas formas, algo he tenido que hacer (he porbado de todo) porque antes me salía un mensaje de que estaba intentando descargar los paquetes y al cabo de un rato me aparece el mensaje de que no encuentra nada (ahora me aparece casi de inmediato).

Gracias.

NotaPublicado: 2008-03-24 09:30 @437
por iperezmena
kidd escribiste:Hola Ignacio:

Lo extraño es que el módulo DBD::MySQL viene por defecto cuando instalas el ActivePerl.

Intenta ejecutar los siguiente comandos con el ppm:

Código: Seleccionar todo
ppm uninstall DBD-mysql

ppm install http://theoryx5.uwinnipeg.ca/ppms/DBD-mysql.ppd


Si tienes la última versión del ActivePerl entonces en vez del ppm deberás de ejecutar el ppm-shell.


Saludos



Hola,
al ejecutar el comando uninstall me dice que ese paquete no está instalado y al ejecutar el comando ppm install http://theoryx5.uwinnipeg.ca/ppms/DBD-mysql.ppd me da el error: ppm install failed: The PPD does not provide code to install for this platform.

La versión del active que tengo instalada es la 5.10.0.

un saludo.

NotaPublicado: 2008-03-24 10:52 @494
por explorer
Instálate la distribución Perl 5.8.

NotaPublicado: 2008-03-24 10:56 @497
por iperezmena
explorer escribiste:Instálate la distribución Perl 5.8.


Es la que tenía instalada y la he cambiado esta mañana por la más actual. El error es el mismo. De todas formas, me la he vuelto a instalar. ¿Alguna otra sugerencia?

Muchas gracias.

NotaPublicado: 2008-03-24 11:17 @512
por explorer
Según la página de ActiveState, DBD-mysql solo está compilado para la versión 5.8.8, así que por ese motivo te lo he dicho.

Acabo de bajarme la versión 5.8.8.822 y puedo decirte que no está instalado de base. He arrancado el gestor gráfico PPM, buscado el DBD-mysql. Elegir la versión 3.002 e instalado sin problemas:

Código: Seleccionar todo
C:\Documents and Settings\Administrador>perl -MDBD::mysql -e 1

C:\Documents and Settings\Administrador>

Vamos, he usado una docena de clicks de ratón... ;-)

NotaPublicado: 2008-03-24 11:28 @519
por iperezmena
explorer escribiste:Según la página de ActiveState, DBD-mysql solo está compilado para la versión 5.8.8, así que por ese motivo te lo he dicho.

Acabo de bajarme la versión 5.8.8.822 y puedo decirte que no está instalado de base. He arrancado el gestor gráfico PPM, buscado el DBD-mysql. Elegir la versión 3.002 e instalado sin problemas:

Código: Seleccionar todo
C:\Documents and Settings\Administrador>perl -MDBD::mysql -e 1

C:\Documents and Settings\Administrador>

Vamos, he usado una docena de clicks de ratón... ;-)



A ver que puedo estar haciendo mal. Arranco el ppm, está un momento sincronizando la base de datos. En los nombres de los paquetes instalados aparece el DBI, pero no el DBD. No veo en ningún sitio donde pueda descargarme el DBD-sql. Tengo una ventana donde puedo buscar los paquetes instalados, pero no veo donde puedo escribir uno y descargármelo.
Además, si lo hago desde la línea de comando me aparece:

C:\Perl>ppm install dbd-mysql
Downloading ActiveState Package Repository packlist...status 500
Downloading DBD_sql packlist...not modified
Downloading DBD-mysql packlist...status 500
ppm install failed: Can't find any package that provide dbd-mysql

¿Cómo lo puedo hacer?
¿Cómo lo has hecho?.

NotaPublicado: 2008-03-24 11:41 @528
por explorer
Por defecto, en el gestor gráfico PPM, está seleccionado ver solo los paquetes instalados. Pulsa el botón que está justo debajo de "File", y te mostrará los 7102 paquetes disponibles. Luego, en la caja de texto con la lupa, escribe mysql, y enseguida verás el paquete. Lo seleccionas y pulsas el botón arriba que tiene un símbolo '+'. Y finalmente, el botón de la flecha verde para que lo instalé.