Encontrar un conector para Oracle desde Python no es muy sencillo, en algunas ocasiones se exige que se tenga instalado el suite gratuito de Oracle, una centena de megas desperdiciado, si lo único que se desea es conectarse a una base de datos de oracle que está en otra máquina. Por lo tanto se presenta una aproximación en la cual se puede usar un driver jdbc para java con jython y se puede disfrutar programando python, en lugar de hacerlo en Java.

Requerimientos

Primero se asegura que en el CLASSPATH esté el conector Jdbc y se carga jython

A continuación un código que puede servir como base para hacer conexiones a una base de datos en jython

   1 from com.ziclix.python.sql import zxJDBC
   2 IP="192.20.100.63"
   3 PORT="1521"
   4 SID="LABASE"
   5 USER="usuario"
   6 PA="clave"
   7 
   8 def connect(un, pw, sid, host, port):
   9      connection = "jdbc:oracle:thin:@//%s:%s/%s" % (host, port, sid)
  10      db=zxJDBC.connect(connection,un,pw,"oracle.jdbc.driver.OracleDriver")
  11      return db
  12 
  13 c=connect(USER,PA,SID,IP,PORT)
  14 cur=c.cursor()
  15 cur.execute("SELECT count(*) from estacion")
  16 print cur.description
  17 for a in cur.fetchall():
  18         print a
  19 cur.close()
  20 c.close()

Si este script tuviera por nombre conecta.jy se podría ejecutar con export CLASSPATH=/usr/local/java/drivers/ojdbc14.jar ;jython conecta.jy, es fundamental el haber incluido el jdbc para la base de datos antes de invocar a jython :-)

La idea es usar java con la sintaxis de Python.

Referentes


CategoriaPython

LenguajePython/ConectarOracleJython (last edited 2009-07-15 15:27:30 by localhost)