Tengo dos servidores red hat enterprise linux ejecutando Python 2.4 y 2.6 por separado. Hay una base de datos de Oracle en el otro servidor necesito acceso.

Estaba tratando de instalar cx_oracle en mi RHEL server pero nos enteramos de que el cliente de Oracle debe instalarse primero.

El problema es que no tengo permiso para instalar Oracle cliente en ambos servidores red hat enterprise linux. En los mismos servidores, un programa Perl se puede conectar a Oracle db usando:

DBI->connect("dbi:Oracle:host=myhost.prod.com;sid=prddb",'username','password')

Puede Python hacer lo mismo sin necesidad de instalar cx_oracle y el cliente de Oracle? O hay alguna sugerencia acerca de cómo escribir un módulo de mí mismo para hacer la misma cosa?

Gracias de antemano!

Para Perl para trabajar allí es un controlador de Oracle instalado, y habla con un cliente de Oracle instalado en la misma máquina, lo cual habla entonces de la base de datos de Oracle. Usted necesita el software de cliente en el equipo que desee conectar, así que suena como que usted está ya configurado y solo necesitas instalar el Python y controladores de código. Oracle es una muy agarrados de la empresa, y el control de sus controladores de cerca, así que usted necesitará utilizar lo que significa que usted puede hablar con su cliente. Si eso significa que cx_oracle entonces vas a tener que ir por ese camino.
Gracias chicos. Yo estoy investigando llamada perl DBI módulo de python ahora.
No hagas eso. Es una compleja y viables de solución. Escribir en Perl, lo que sería mi primer camino, porque sé Perl mejor que Python, o ir con Python puro y de carga, es necesario que los conductores; el Uso de lo que usted sabe mejor.

OriginalEl autor Gary | 2013-10-02

3 Comentarios

  1. 4

    Generalmente, todo lo que necesitas son las bibliotecas, que no necesariamente requieren sudo derechos. Extracto de ellos a un lugar que el software será capaz de leer y configurar las siguientes variables de entorno en consecuencia:

    ORACLE_HOME=path/to/where/you/extracted/libs
    TNS_ADMIN=path/to/tnsnames.ora

    He tenido mejor suerte saltar tnsnames, y sólo especificar el host, el puerto, etc en la conexión, pero es muy posible que la vas a necesitar para cx_oracle…no recuerdo desde cuando lo usé hace años.

    Esto resuelve el problema del usuario. Pero la pregunta «¿Cómo puedo acceder a una de Oracle base de datos sin necesidad de instalar Oracle cliente y cx_Oracle?» no contestadas.
    Si usted está usando Python bibliotecas, a continuación, que no tienen otra opción. Al menos, no que yo sepa. Si desea utilizar Oracle DB, jugar por sus reglas.
    si es posible, yo uso PostgresSQL 🙂 en este caso hemos encontrado una solución. Tenemos una API http pronto.

    OriginalEl autor user632657

  2. 5

    Un extracto de http://omz-software.com/pythonista/forums/discussion/297/oracle-database/p1:

    No hay python puro de cliente de Oracle y probablemente nunca lo será. Maravilloso, incluso de terceros conjuntos de herramientas como SQLalchemy todavía dependen de cx_Oracle debajo para hacer la comunicación real a la base de datos de Oracle servidores.

    —también, la decisión por parte de Google, la respuesta es no: no parecen ser puro Python Oracle clientes en la existencia como la de hoy.

    «… nunca va a ser» no hay codificación héroe que hay para demostrar lo contrario? Es posible – no es fácil, pero debe factible.

    OriginalEl autor Erik Allik

  3. 0

    si no desea utilizar cx_Oracle debe utilizar esperar de secuencias de comandos. ( para python pexpect). Pero usted necesita ser cuidadosamente para manejar todas las expectativas.

    OriginalEl autor FariZ

Dejar respuesta

Please enter your comment!
Please enter your name here