KinterbasDB é uma biblioteca open source para Python que possibilita acessar banco de dados Firebird e algumas versões do Interbase.
O download pode ser feito na página do projeto.
Após o download, descompacte o pacote kinterbasdb-3.2.src.tar.gz.
Abra um terminal, entre no diretório onde o kinterbasdb foi descompactado e execute o comando python setup.py build. O script de instalação, setup.py, automaticamente vai detectar as informações necessárias pelo compilador C.
Se não ocorreu nenhum erro, execute o comando python setup.py install para instalar no diretório padrão de módulos do Python (varia de acordo com a distro).
root@localhost: ~# wget http://downloads.sourceforge.net/project/kinterbasdb/kinterbasdb/kinterbasdb-3.2/kinterbasdb-3.2.src.tar.gz?use_mirror=ufpr root@localhost: ~# tar zxvf kinterbasdb-3.2.src.tar.gz root@localhost: ~# python setup.py build Succeeded: /usr/bin/python setup.py build root@localhost: ~# python setup.py install
Para testar se foi instalado corretamente:
root@localhost: ~# python -c "import kinterbasdb as k; print k.__version__" (3, 2, 0, 'final', 0) root@localhost: ~#
É possível que apareça uma mensagem de erro em distros baseadas no Ubuntu:
Traceback (most recent call last): File "<stdin>", line 1, in <module> kinterbasdb.OperationalError: (-901, 'begin transaction: \n invalid parameter in transaction parameter block')
Para corrigir esse problema é preciso usar uma outra versão do arquivo __init__.py.
Faça o download em https://firebird.svn.sourceforge.net/svnroot/firebird/qa/trunk/kinterbasdb/__init__.py e substitua o arquivo existente no diretório kinterbasdb.
root@localhost: ~# wget https://firebird.svn.sourceforge.net/svnroot/firebird/qa/trunk/kinterbasdb/__init__.py root@localhost: ~# mv __init__.py /usr/lib/python2.5/site-packages/kinterbasdb/
Exemplo para Firebird-2.1 em servidor Windows:
import kinterbasdb conn = kinterbasdb.connect( host='192.168.0.2', database='C:\\Dados\\meubanco.fdb', user='sysdba', password='masterkey' ) cur = conn.cursor() cur.execute('SELECT id, nome, telefone FROM tabela') for (id, nome, telefone) in cur: print 'ID: %s, Nome: %s, Fone: %s' % (id, nome, telefone)









Posted in
Tags: 