Machete útil para el curso de Python que voy a dar en Belatrix
Instalando Oracle Express 10 en Ubuntu / Debian
- Agregar en /etc/apt/sources.list
deb http://oss.oracle.com/debian unstable main non-free
- Importar las llaves
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -
- Actualizar repos
sudo apt-get update
- Instalar
sudo aptitude install oracle-xe-client oracle-xe-universal
- Configurar
sudo /etc/init.d/oracle-xe configure
- Setear algunos paths al fnal de los archivos ~/.bash y en ~/.profile tanto del usuario con poder de sudo que realizó la instalación, como del usuario oracle (sudo su - oracle), como del root (necesario para compilar algunas cosas). Recordar que luego de cambiar estos archivos, se debe loguear nuevamente, e incluso reiniciar las X, para que las variables de entorno queden correctamente seteadas. Si no sabe de lo que estoy hablando, reincie la compu.
Entonces, al final de ~/.profile
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Al final del ~/.bashrc
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_HOME
export ORACLE_SID=XE
export PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
- Reinicie X, sesiones, o la maquina.
- Pruebe que se puede loguear como sysdba
sudo su - oracle
sqplus / as sysdba
- Acceda a la interface web entrando a http://127.0.0.1:8080/apex como sys (o sysdba) + el password escrito durante el sudo /etc/init.d/oracle-xe configure
- Entre a Administration > Manage Database Users > Users
- En Account Status cambie el status de HR a unlocked y cambie la contraseña. Esto, porque la contraseña podría estar outdated. Enseguida vamos a necesitar esa contraseña. En mi caso, le he puesto "hr".
- Nuevamente dentro del sqlplus lance algunos comandos, solo para conocer el nivel de acceso.
alter session set current_schema=HR
select * from all_users ;
select * from all_tables where owner = 'HR';
Para jugar con python, y corrigiendo apenas lo que encontré en http://agiletesting.blogspot.com/2005/05/installing-and-using-cxoracle-on-unix.html
- Baje la ultima versión de cx_Oracle-x.x.tar.gz desde aqui.
- Copie en /root los .bashrc y .profile anteriores, para que root tenga acceso a varias variables de entorno y rutas necesarias para compilar
- Instale el paquete gcc
- Conviértase en root sin olvidar el - mediante:
sudo su - root
- Descomprima cx_Oracle-X.x.tar.gz y ejecute denro de la subcarpeta
python setup.py install
- Aqui va un ejemplo de conexión, con la contraseña "hr" del usuario HR. Idealmente, no copie el código desde aquí. Este lenguaje es muy sensible a los espacios, en su lugar hágalo desde aquí: http://pastebin.com/GqZBS38C
import cx_Oracle
from pprint import pprint
connection = cx_Oracle.Connection("HR", "hr")
cursor = cx_Oracle.Cursor(connection)
#Ejemplo trayendo desde una tabla de sistema
sql = "SELECT TABLE_NAME FROM ALL_TABLES"
cursor.execute(sql)
data = cursor.fetchall()
print "TABLE_NAME"
pprint(cursor.description)
pprint(data)
cursor.close()
connection.close()
No hay comentarios.:
Publicar un comentario