• Publicidad

Problema al intentar conexión a BD con un script Perl

¿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.

Problema al intentar conexión a BD con un script Perl

Notapor chemag » 2009-01-15 08:18 @387

Buenos días.

Al ejecutar un script en Perl me da problemas con oci.dll y después me da el siguiente error:

Código: Seleccionar todo
install_driver(Oracle) failed: Can't load 'C:/Perl/lib/auto/DBD/Oracle/Oracle.dl
l' for module DBD::Oracle: load_file:No se encontr¾ el proceso especificado at C
:/Perl/lib/DynaLoader.pm line 226.
 at (eval 5) line 3
Compilation failed in require at (eval 5) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at newtrans.pl line 240


En el script lo que se pretende es realizar una conexión a un BD en la que debo realizar unos cambios.

Se trata de una máquina con Windows 2000 x86, Oracle 8.1, ActivePerl 5.8.9.825 con packages DBD-Oracle 1.21 y DBI 1.607.

Por favor, ¿alguien me puede ayudar?. MUCHAS GRACIAS. UN SALUDO.
chemag
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2009-01-15 08:01 @376

Publicidad

Notapor explorer » 2009-01-15 08:38 @401

Bienvenido a los foros de Perl en Español, chemag.

El error dice que el módulo DBD::Oracle no encuentra la librería Oracle.dll.

Yo probaría a instalar de nuevo DBD::Oracle. Y confirmar que Oracle.dll queda residente allí.

Si no... es posible que esté en otro directorio... comprueba los mensajes que dio en la instalación. Busca Oracle.dll por todo el disco. En algún lugar estará. No creo que el PPM venga sin él...
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

Notapor chemag » 2009-01-15 08:41 @403

El DBD sí tiene este archivo, he intentado registrarlo por si acaso fuera eso, pero no me ha dejado, quizás sea algo raro.

Puede tener algo que ver que me quiero conectar a una Base de datos remota pero en Oracle7.
chemag
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2009-01-15 08:01 @376

Notapor explorer » 2009-01-15 08:50 @409

Por lo que veo en el manual de DBD::Oracle... estás justo en el límite de uso de versión de Oracle, la 8.1, con respecto a este módulo. Comentan que solo funciona con versiones iguales o superiores a la 9.

Luego, con respecto al error de oci.dll, comentan que es debido a que no se ha definido correctamente la variable de entorno ORACLE_HOME.

Te falta terminar la instalación, de forma correcta...
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

Notapor explorer » 2009-01-15 09:04 @419

Si has encontrado el Oracle.dll, te vale con saber que está en el camino que te solicita: 'C:/Perl/lib/auto/DBD/Oracle/'. No hace falta registrarlo.
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

Notapor chemag » 2009-01-16 07:15 @343

Hola, ya estoy otra vez al ataque.
Como me has dicho que estoy en el límite de la versión he optado a instalar una más antigua, la 1.17 pero ésta me da el siguiente mensaje al intentar hacerlo;

Código: Seleccionar todo
C:\DBD-Oracle-1.17>perl Makefile.PL
Perl 5.006 required--this is only version 5.00503, stopped at Makefile.PL line 6
.
BEGIN failed--compilation aborted at Makefile.PL line 6.


¿Necesito también instalar esta versión de Perl? ¿Y si es así dónde la consigo?

MUCHAS GRACIAS, AGAIN.
chemag
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2009-01-15 08:01 @376

Notapor explorer » 2009-01-16 08:24 @392

Pero... vamos a ver... ¿Aún tienes un Perl versión 5.00503???

Entonces ya van apareciendo las cosas más claras... has hecho una instalación de Oracle 8.1 y estás usando el Perl que viene con él.

Entonces... DEBERÍA de funcionar el DBD::Oracle incluido con ese Perl, aunque sea antiquísimo.

Yo intentaría resolver el tema de la primera dll, ajustando el valor de la variable de entorno.

Otra opción: instalar una copia de ActivePerl. Viene con un DBD::Oracle versión 1.22... PERO ESTA SOLUCIÓN NO TE SIRVE porque esta versión solo soporta Oracle igual o superior a la versión 9, y tu tienes la 8.1, y no vamos a pretender que cambies de versión de Oracle... ¿o quizás sí? (hay versiones Oracle de uso limitado, pero libre).

Y la otra opción, instalar un Perl 5.6. Lo puedes encontrar en http://search.cpan.org/~gsar/perl-5.6.0/ ... pero... buena suerte...
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

Notapor chemag » 2009-01-19 01:50 @118

BUENOS DÍAS;

Ante todo muchas gracias por tus respuestas.

El Perl que utilizo en teoría es el que instalé con el "ActivePerl 5.8.9.825" con packages DBD-Oracle 1.21 y DBI 1.607" posiblemente no lo hice bien o el sistema no usa el path correcto, aunque lo tengo definido en la variable de entorno. Por lo que veo aunque estuviera bien instalado no me valdría al soportar la versión de Oracle que tengo.
En cuanto a la versión de Oracle no puedo cambiarla, he probado una simple conexión en una máquina con la 9 a la BD que tengo que conectarme que está en 7 y me sorprendió diciéndome que la 9 no soporta conexiones a la 7. "ORA-24439: Connections to Oracle7 server are no longer supported"

Voy a intentar instalar la versión que me dices del Perl, y ahora te comentaré.

Lo dicho muchas gracias. Un Saludo.
chemag
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2009-01-15 08:01 @376

Notapor explorer » 2009-01-19 04:59 @249

Que yo haya visto, en la instalación de la versión 10g viene aún una carpeta con un Perl, con lo que en tu Oracle 7 debería venir otro.

Yo desinstalaría el ActivePerl e intentaría usar el Perl que viene con el Oracle, pues ése seguro que funciona para esa versión.
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

Notapor chemag » 2009-01-19 06:53 @328

Buenas Again:

Sí, en la máquina donde tengo el Oracle 7 sí me funciona el perl pero le falta el DBI, necesito cuidar esa máquina como oro en paño y me da miedo instalarle package alguno. Por eso estoy intentándolo hacer desde una máquina con el 8.

Quien me mando el programilla para ejecutarlo en Perl me puso de requerimientos: Windows 2000/XP y cliente de Oracle 7 o 8. Además la máquina que tengo con el 7 es Windows NT.
chemag
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2009-01-15 08:01 @376

Siguiente

Volver a Intermedio

¿Quién está conectado?

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