cx_Oracle + py2exe

Amm-Python python en ammsoft.com
Mie Dic 22 12:53:16 CET 2004


Echo a faltar un repositorio con trucos, ejemplos  y comentarios.

Algún sitio donde ir colgando el código interesante que desarrollamos,
funciones y clases curiosas que puedan facilitarle la vida a los nuevos
usuarios de Python, así como soluciones a problemas cotidianos.

Por ejemplo:
Me he pasado unas cuantas horas con un problema absurdo.

Una aplicación que funcionaba correctamente con Python + cx_oracle la
"compilé" con py2exe.
El resultado fue genial.

Al instalar en el cliente el ejecutable, con los ficheros y librerías
que se crean al mismo tiempo, daba un error misterioso. "Unable to
acquire Oracle environment handle".

Después de buscar y buscar por el Google y no encontrar una solución
satisfactoria. Conseguí reproducir el error del cliente.

Todo era mucho más sencillo:
El cliente tenia instalado un "Cliente oracle 8i" y yo el que tengo
instalado en mi ordenador es el 9i. Pero en Python la versión que
instalé del cx_Oracle fue la 8i ya que el cliente tiene la BBDD en
Oracle 8i.
Al crear el .exe py2exe me copió en el directorio del exe, como librería
auxiliar, el archivo OCI.dll, este archivo está en el directorio lib de
oracle y por lo tanto cada versión de Oracle tiene un fichero diferente.

Lo único que he tenido que hacer es quitarlo del directorio del programa
para que coja el que hay en el directorio de Oracle (que es el correcto)
y ha funcionado a la primera.

Por cierto:
He probado con la versión cx_Oracle 9i y funciona igual, aunque la base
de datos sea 8i, entonces; ¿por qué hay una versión específica para la
8i ?

Un saludo,
Toni

P.D.
El único repositorio con ejemplos que he encontrado es :
http://aspn.activestate.com/ASPN/Cookbook/Python/
Estaría bien que en http://www.pythonhispano.org montarán una estructura
parecida y fuésemos metiendo nuestros ejemplos.
Por cierto, ¿ya visitáis estos links?, son muy buenos.

P.D.2
No se vosotros, pero yo no me aclaro con los manuales de Python (no hay
últimas versiones en castellano) y sobre todo con los de wxpython, ya se
que seguramente es un problema de las carencias formativas que tengo y
mi nivel de compresión del inglés, pero es que los ejemplos que traen
son para matarlos. Mi aprendizaje lo baso sobretodo en leer código, soy
un devorador de código, necesito código, más código, más código...
¿Dónde hay más código?. ;-)


 



  




Más información sobre la lista de distribución Python-es