miércoles, 9 de enero de 2013

Conectar Python con Firebird

Hoy definitivamente ando bien Python ;) ... El siguiente documento es para conectar Python con Firebird, lo realizo en Mac OSX pero debiera ser similar para Windows:

Para poder realizar la conexión Python - Firebird, primero es importante tener instalado el Firebird en el equipo la versión que utilizaremos debe ser compatible con la versión 2 o superior ...
http://sourceforge.net/projects/firebird/?source=dlp

Una vez que se haya descargado debemos ejecutar la el pkg de instalación.

Posteriormente es probable que tengamos que editar el ~/.bash_profile con las siguientes líneas:
export FIREBIRD_HOME=/Library/Frameworks/Firebird.framework/Resources
export PATH=$PATH:$FIREBIRD_HOME/bin
Más información en:
http://www.firebirdsql.org/file/documentation/papers_presentations/html/paper-fb-macosx-install.html
Uso de la terminal:
http://www.firebirdsql.org/manual/es/qsg15-es-connecting.html#d0e1215


Una vez instalado el Firebird, existen varios controladores (Driver) para conectar python con firebird, pero este fue el que mejor me dio resultado ya que esta desarrollado usando solo python:

https://github.com/nakagami/pyfirebirdsql/archive/master.zip
Más información aquí: https://github.com/nakagami/pyfirebirdsql

Una vez descargado y descomprimido entramos al directorio y corremos el siguiente comando:
$ sudo python setup.py build

Si hubo errores, después del comando anterior revisa la conectividad y funcionamiento de firebird, en caso de que todo haya salido bien, entonces procedemos con el siguiente comando:
$ sudo python setup.py install

Podemos probar que haya quedado instalada la librería usando el shell de python e importando la librería firebirdsql.

El siguiente fragmento de código es para ejemplo de conectividad:
_________________________________

# Conectarse a la base de datos de firebird
import firebirdsql as fb

# Conectar con la base de datos
con = fb.connect(dsn='127.0.0.1:c:\\base.gdb',user='miusuario', password='miclave')

# Se crea el cursor de la conexión
cur = con.cursor()

# Ejecuta el comando SQL
cur.execute(" select clave, nombre from municipios ")

# Imprime los municipios encontrados en la base de datos ...
for row in cur:
print str(row[0])," > ",str(row[1])

_________________________________

Sitios de Referencia:
http://maxirobaina.tumblr.com/post/27867131429/firebird-sql-estado-del-driver-para-python
http://nakagami.github.com/pyfirebirdsql/installation.html
[ Tutorial de la librería ] http://nakagami.github.com/pyfirebirdsql/tutorial.html
http://www.fpress.com/revista/Num0704/unart6.htm
http://stackoverflow.com/questions/11787012/how-to-install-mysqldb-on-mountain-lion
[ Tutorial del terminal ] http://www.firebirdsql.org/manual/es/qsg15-es-connecting.html#d0e1215



Espero te sea de utilidad !




2 comentarios:

  1. Hola Jordy es probable que si solo verifica los directorios por ejemplo:
    /Library/Frameworks/Firebird.framework/Resources

    Es necesario revisar en donde se encuentra el mismo directorio en ubuntu, básicamente la instalación de la librería, de acuerdo con la documentación de la misma es compatible con linux:

    http://sourceforge.net/projects/firebird/?source=dlp

    Saludos !

    ResponderEliminar