Python usando cx_oracle com Oracle Instant Client

Neste post ensinarei como instalar o cx_Oracle apartir do código fonte, e demonstrarei um pequeno código acessando um banco oracle apartir do Python, bem então vamos aos passos.

Alguns arquivos devem ser baixado para o processo segue os links:

  1. Oracle Instant Client – Baixar o Basic e o SDK
  2. cx_Oracle 4.4

Agora os passos da mágica (executar como root):
  • Configurando as bibliotecas oracle:
  1. Extraia o Oracle Instant Client tanto o Basic quanto o SDK para a pasta /usr/local/lib, depois nomeie o diretorio instantclient10_1 (A Numeração pode variar), para oracle10 ou para qualquer nome de sua preferência para facilitar o trabalho.
  2. Precisamos criar um link simbólico da biblioteca libclntsh.so.XX.X (onde XX.X e o numero da versão no meu caso libclntsh.so.10.1) executando o comando de dentro do diretório onde vc estraiu o Oracle instant Client: ln -s libclntsh.so.XX.X libclntsh.so
  3. Adicionar o diretório das bibliotecas do oracle no meu caso /usr/local/lib/oracle10 ao arquivo /etc/ld.so.conf e executar o comando ldconfig
  4. Adicione o seu tnsnames.ora ao diretório /etc
  5. Adicione ao seu .bashrc a seguinte linha export TNS_ADMIN=/etc e também export ORACLE_ADMIN=/usr/local/lib/oracle10 e de uma relogada para que comece a valer as variáveis
  • Compilando o cx_Oracle e instalando:
  1. Extraia o cx_Oracle e entre no diretorio gerado o nome deve ser algo como cx_Oracle-4.4
  2. Como root execute python setup.py install
Seguindo estes passos já teremos nosso Oracle Instant Client configurado, e também o modulo oracle para python pronto para rodar nossos scripts python com acesso banco Oracle, agora segue um codigo de exemplo
import cx_Oracle

conn = cx_Oracle.Connection("wmethods/wmethods@braoptsblp.xs.praxair.com")
cursor = conn.cursor()

cursor.execute("select sysdate from dual")

result = cursor.fetchall()

#Esta linha serve para pegar os nomes das colunas
colunas = [i[0] for i in cursor.description]

for linhas in result:
    print linhas
Não usei as colunas, colquei o código mais como uma dica que possam usar algum dia.
qualquer erro, dúvida, por favor comente xD
[]s

3 Comentários

  1. Putz psycoman,

    eu estava procurando um tutorial que fizesse corretamente a instalação do cx_oracle a muito tempo. Muito bom post!!!

    Você está usando que distribuição para fazer estes testes?

    Obrigado,
    Josir.

  2. estou usando Archlinux, http://www.archlinux.org xD

  3. I dont see the logic in your argument but I think you’ve painted your strokes

Get Adobe Flash playerPlugin by wpburn.com wordpress themes