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:
- Oracle Instant Client – Baixar o Basic e o SDK
- cx_Oracle 4.4
Agora os passos da mágica (executar como root):
- Configurando as bibliotecas oracle:
- 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.
- 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
- 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
- Adicione o seu tnsnames.ora ao diretório /etc
- 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:
- Extraia o cx_Oracle e entre no diretorio gerado o nome deve ser algo como cx_Oracle-4.4
- 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
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.
estou usando Archlinux, http://www.archlinux.org xD
I dont see the logic in your argument but I think you’ve painted your strokes