DUVIDA CONEXAO FIREBIRD 1.5
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??
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??
Na linha abaixo...
...você esqueceu de informar o objeto CONNECTION.
Altere para...
...e veja se funciona.
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.
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
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
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.
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.
pessoal tentei todos continua do mesmo geito, creio que seja o drive, qual drive seria o correto pra se usar nesse codigo??
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??
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??
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.
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