Sergio Oliveira
unread,Jul 19, 2012, 2:00:42 PM7/19/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to python...@googlegroups.com
Boa Tarde, estou começando a estudar python agora!
O meu foco principal é migrar um applicativo desktop feito para Windows utilizando Pascal (Delphi) .
Esse aplicativo usa como gerenciador de banco de dados o Firebird, então baixei o kinterdb para fazer a conexão com o Firebird só que não consigo nem rodar um aplicativo de exemplo.
Está me retornando a seguinte mensagem:
Traceback (most recent call last):
File "C:\Python25\connfirebird.py", line 18, in <module>
cur.execute(sql)
OperationalError: (-901, 'begin transaction: \n invalid parameter in transaction parameter block\n Table reservation lock type isc_tpb_shared requires table name before in TPB')
O código que eu peguei para testes é o seguinte:
# -*- coding: latin1 -*-
import kinterbasdb
#Para criar a base
# isql -u sysdba -p xXxXxXx
# create database '\temp\cds.fdb';
#
# conecta o Firebird
con = kinterbasdb.connect(dsn='localhost:c:/caixa_ecf/bd/bdpafecf.gdb',user='sysdba', password='masterkey')
# Cria um objeto cursor
cur = con.cursor()
sql = "create table cds("\
"nome varchar(20),"\
"artista varchar(20),"\
"ano integer,"\
"faixas integer,"\
"primary key(nome, artista, ano));"
# Cria uma tabela
cur.execute(sql)
# Grava as modificações
con.commit()
dados = [
('IV', 'Led Zeppelin', 1971, 8),
('Zenyattà Mondatta', 'The Police', 1980, 11),
('OK Computer', 'Radiohead', 1997, 12),
('In Absentia', 'Porcupine Tree', 2002, 12),
]
# Insere os registros e faz a interpolação
insert = "insert into cds"\
"(nome, artista, ano, faixas) values (?, ?, ?, ?)"
cur.executemany(insert, dados)
con.commit()
# Consulta os registros
cur.execute("select * from cds order by ano")
# Recupera os resuldados
for reg in cur.fetchall():
# Formata e imprime
print ' - '.join(str(i) for i in reg)
Alguém também está tendo problemas com esse gerenciador?