DUVIDA CONEXAO FIREBIRD 1.5

USUARIO.EXCLUIDOS 16/08/2010 18:34:50
#350414
Boa noite.

Pessoal uso o firebird 1.5 para conexão com banco de dados remoto. uso assim.

Public db_conn As New ADODB.Connection
Public Alias As String
Sub Conectar()

[ô]Conexão banco FireBird
Set db_conn = CreateObject([Ô]ADODB.Connection[Ô])
str_conn = [Ô]DRIVER=Firebird/InterBase(r) driver;UID=grupo;PWD=000000;DBNAME=firebird.hospedagemdesite.com:/opt/firebird/data/grupo.gdb[Ô]
db_conn.ConnectionString = str_conn
db_conn.Open
End Sub


mais nessa linha que ta em negrito da erro no load do form.


Set tbvend = New ADODB.Recordset
Set tbvend.ActiveConnection = db_conn
tbvend.CursorLocation = adUseClient
tbvend.Open [Ô]Select * from TB_Login Order By Cod[Ô], , adOpenDynamic, adLockOptimistic


a mensagem de erro e essa.

invalid parameter in transaction parameter block.

porque ta dando esse erro.


quais obdc de conexão usar??
TECLA 16/08/2010 21:01:48
#350427
Na linha abaixo...
tbvend.Open [Ô]Select * from TB_Login Order By Cod[Ô], , adOpenDynamic, adLockOptimistic

...você esqueceu de informar o objeto CONNECTION.

Altere para...
tbvend.Open [Ô]Select * from TB_Login Order By Cod[Ô], db_conn, adOpenDynamic, adLockOptimistic

...e veja se funciona.
MARCELOKROL 16/08/2010 21:35:34
#350432
Esperimente deixar a sua string de conecção assim:

str_conn = [Ô]DRIVER=Firebird/InterBase(r) driver;UID=grupo;PWD=000000;DBNAME=firebird.hospedagemdesite.com:/opt/firebird/data/grupo.gdb;auto_commit=True;[Ô]


A minha para conecção remota ou local eu uso assim:
StrConn = [Ô]Provider=LCPI.IBProvider.3.Free;Persist Security Info=False;Data Source=Teste;Location=LocalDoBancoDeDados;ctype=WIN1252;auto_commit=True;[Ô]

Adoconn.Open StrConn, Usuario, Senha
LLAIA 16/08/2010 21:42:00
#350434
até que ele tá informando a conexão

Set tbvend.ActiveConnection = db_conn

Não tenho certeza, talvez o problema esteja no cursor que vc definiu, pois não existe também uma transação aberta, e derepente o Firebird esteja exigindo isso. Tente assim:

db_conn.BeginTrans

tbvend.Open [Ô]Select * from TB_Login Order By Cod[Ô], , adOpenDynamic, adLockOptimistic

db_conn.CommitTrans


O Firebird trata tudo em transações, e devido o isolamento transacional dele, até mesmo leitura deve está dentro de uma transação.

verifique se a remoção/substituição de adOpenDynamic ou, adLockOptimistic possa resolver.


USUARIO.EXCLUIDOS 16/08/2010 22:46:01
#350439
pessoal tentei todos continua do mesmo geito, creio que seja o drive, qual drive seria o correto pra se usar nesse codigo??
USUARIO.EXCLUIDOS 17/08/2010 08:36:36
#350449
Opá consegui fazer a conexão, instalei o driver obdc 2.0 e deu certo, mais achei um oisa estranha.

antes a mesma conexão remota dura 4 segundos para fazer uma consulta no servidor, agora ta lento demais, cerca de 20 segundos, o que pode ta ocorrendo pra essa lentidão toda??
LLAIA 17/08/2010 09:52:25
#350470
cara, vc tá usando FB 1.5 certo? então experimenta usar o SIBPROVIDER

ao distribuir nas estações não esqueça de colocar a GDS32.dll no setup também.

se a lentidão persistir, verifique com o host.
Tópico encerrado , respostas não são mais permitidas