Página 1 de 2
harbour x firebird?
Enviado: 13 Out 2010 10:17
por pena
bom dia pessoal, gostaria de migrar dbf para firebird, alguem teria um exemplo de como fazer a conexão? Alem do firebird, o que mais preciso instalar para funcionar, exemplo de codigo eu baixei um no grupo, mas ele nao conecta, alguem poderia me dar uma mão?
Re: harbour x firebird?
Enviado: 14 Out 2010 10:31
por DLZ
Ola meu amigo..
Tenho muito interesse nesse assunto tb.. testei a lib que vem junto na contrib do Harbour, mas não funciona !!
Se vc tiver algum sucesso com alguma ferramente, por favor, faça contato..
obrigado
Re: harbour x firebird?
Enviado: 14 Out 2010 12:29
por gvc
Tem uma lib na contrib do xHarbour que acessa o FB.
Vc pode procurar aqui no forum sobre o ADORDD para acessar.
Re: harbour x firebird?
Enviado: 14 Out 2010 15:13
por jamazevedo
Minhas configurações:
Ubuntu 10.04
Harbour 2.1.0Beta 2 (Rev. 14955)
- Estou usando MySQL que está na pasta contrib lá também tem exemplos para Firebird mas não utilizei.
- Antes de utilizar o MySQL com harbour precisei fazer umas configurações em minha máquina como por exemplo:
-
sudo install apt-get install mysql-server mysql-client libmysqlclient15-dev isso vai baixar, instalar e configurar o MySQL em minha máquina, depois montei o programa abaixo, ele é muito simples: faz a conexão com o MySQL, mostras os bancos existentes, abre o banco mysql e lista os usuários.
- Acredito que com o exemplo abaixo é possível fazer uma análogo para o Firebird.
Programa: exemplo.prg
Código: Selecionar todos
#DEFINE id_SERVER "localhost"
#DEFINE id_USER "root"
#DEFINE id_PASSWORD "123"
FUNCTION Main()
LOCAL oServer := TMySQLServer():New( id_SERVER, id_USER, id_PASSWORD )
LOCAL oBancoDados , oTabela , oRow
LOCAL nConta1 , nConta2 , nConta3
LOCAL nLen1 , nLen2 , nLen3
oBancoDados := oServer:Query( "SHOW DATABASES;" )
IF oBancoDados:NetErr()
ALERT( oBancoDados:Error() )
ELSE
nLen1 := oBancoDados:LastRec()
FOR nConta1 = 1 TO nLen1
oRow := oBancoDados:GetRow( nConta1 )
? oRow:FieldGet( 1 )
NEXT
oTabela := oServer:Query( "SELECT * FROM mysql.user;" )
IF oTabela:NetErr()
ALERT( oTabela:Error() )
ELSE
nLen2 := oTabela:LastRec()
FOR nConta2 = 1 TO nLen2
oRow := oTabela:GetRow( nConta2 )
? oRow:FieldGet( 1 ) , oRow:FieldGet( 2 )
NEXT
ENDIF
ENDIF
oTabela:Destroy()
oBancoDados:Destroy()
oServer:Destroy()
RETURN NIL
Arquivo para compilar: exemplo.hbp
Código: Selecionar todos
# compila so os alterados
-inc
-w1
-lhbmysql
-lmysqlclient
# nome do executavel
-oexemplo
# fontes que serao compilados e lincados
exemplosql.prg
Re: harbour x firebird?
Enviado: 15 Out 2010 08:32
por DLZ
Já fiz testes com a lib da pasta Contrib do Xharbour, mas fui aconselhado a não usar, pois essa lib foi descontinuada !
Qtdo ao ADORDD, parece ser uma maravilha, mas não é free !
Ainda procuro uma solução para usar Firebird no Xharbour !
Re: harbour x firebird?
Enviado: 15 Out 2010 09:41
por gvc
Desculpe, mas o ADORDD é free. Vc deve estar confundindo com alguma lib.
O Linhares desenvolveu e liberou para a comunidade. Depois é que ele parou de desenvolver recursos, mas os fontes estão disponíveis inclusive aqui no forum.
A recomendação é vc compilar os fontes junto com a sua aplicação.
Re: harbour x firebird?
Enviado: 15 Out 2010 19:41
por pena
pessoal ja funcionando, quem quiser uma mao, estou a disposicao
Re: harbour x firebird?
Enviado: 17 Out 2010 09:55
por gvc
Poste a solução que vc adotou e um exemplo para ajudar os colegas do forum.
Dai quem precisar, se houver dúvidas, vai pedir sua ajuda.
Ah! Parabens por conseguir fazer funcionar.
Re: harbour x firebird?
Enviado: 19 Out 2010 15:15
por DLZ
Ola..
recebi um exemplo para testes, um tal de AgendaFB
baseado nele fiz um programa para teste.
Segue abaixo:
Código: Selecionar todos
#Include "Adodb.ch"
FUNCTION MAIN()
SET DATE BRIT
SET CENTURY ON
SET EPOCH TO 1960
SET CONFIRM ON
SETMODE(25,80)
CLEAR
Public CNN
PUBLIC E
BEGIN SEQUENCE
CNN:=CreateObject("ADODB.Connection")
CNN:Open("DRIVER=Firebird/InterBase(r) driver;Password=1;Persist Security Info=True;User ID=PRATIC;Location=C:\PRATIC\PRATIC.FDB;ctype=ISO8859_1;auto_commit=True;dbclient_library=fbclient.dll")
RECOVER USING E
ALERT("Operação: "+E:operation+"-"+"Descrição: "+E:Description) // +chr(10)+vMat(e:Args))
RETURN
end
RETURN
Compilei usando Xharbour 1.0 e Hbmake e ocorre o seguinte erro:
Error: Unresolved external '_HB_FUN_HB_GT_GUI_DEFAULT' referenced from C:\XHARBOUR\FIREBIRD\AGENDAFB\TESTE.OBJ
também tive que substituir o Try Catch por Begin Sequence Recover..
e agora ? o q eu faço ?
Re: harbour x firebird?
Enviado: 21 Dez 2010 13:10
por DLZ
Ola..
Fiquei surpreso quando vi que passou tanto tempo e ninguém respondeu meu post, mas sou teimoso, mais eu alemão eheheh
bem, durante todo esse tempo que fiquei esperando uma ajuda, fiquei "procurando ninho de cavalo" e fiz um pequeno progresso..
Agora estou com outro erro, com o programa abaixo..
Código: Selecionar todos
FUNCTION MAIN()
SET DATE BRIT
SET CENTURY ON
SET EPOCH TO 1960
SET CONFIRM ON
SETMODE(25,80)
CLEAR
Public CNN
PUBLIC E
PUBLIC oCursor
TRY
CNN:=CreateObject("ADODB.Connection")
CNN:Open("Provider=LCPI.IBProvider.3;Password=1;Persist Security Info=True;User ID=PRATIC;Location=C:\PRATIC\PRATIC.FDB;ctype=ISO8859_1;auto_commit=True;dbclient_library=fbclient.dll")
CATCH E
ALERT("Operação: "+E:operation+"-"+"Descrição: "+E:Description+chr(10) /*+vMat(e:Args)*/)
END
Try
oCursor:=CreateObject("ADODB.Recordset")
Catch e
ALERT("Operação: "+E:operation+"-"+"Descrição: "+E:Description+chr(10) /*+vMat(e:Args)*/)
end
oCursor:Open("Select * from Cadmun where Munic=1",CNN,2,3)
Do While ! oCursor:Eof()
@ 10,10 say oCursor:Fields["Munic"]:Value
@ 11,10 say oCursor:Fields["Nome"]:Value
inkey(0)
oCursor:MoveNext()
enddo
O que fez o erro anteriormente postado parar de ocorrer, foi tirar o Include ADODB.CH do início do programa.
Agora o erro que ocorre é o seguinte..
no CNN:OPEN() da o seguinte erro: S_OK
Isso signifca que a conexão com o banco deu certo ? se deu certo, pq cai no Catch ? não deveria caie no Catch só qdo da algum erro ?
Seguindo o programa , da erro no comando:
oCursor:Open("Select * from Cadmun where Munic=1",CNN,2,3)
Error ADODB.Recordset/6 DISP_E_UNKNOWNNAME
OBS: A tabela Cadmun existe no banco PRATIC.FDB e nessa tabela existe o campo Munic que é do tipo Inteiro:
O que pode estar ocorrendo agora ?
Será que é mesmo possível usar Firebird com Xharbour ?
Aguardo alguma luz !!
Obrigado
Re: harbour x firebird?
Enviado: 21 Dez 2010 13:45
por pena
tenho os fontes de um sistema simples que o pessoal usa em uma autopeças, eu utilizava dbf, e fui migrando ele para firebird, ele ja funciona td perfeitamente, apenas nao conclui todos os processos por falta de tempo, e tinha outras prioridades, no seu caso, sera que esta utilizando a versao correta? se caso quiser posso passar meus fontes, so que eu estou usando a minigui.
Re: harbour x firebird?
Enviado: 21 Dez 2010 13:53
por DLZ
ola.. obrigado por responder..
Versão correta do que ? Do Firebird ?
Estou usando a versão mais atual 2.5 final
outra coisa.. compilei o exemplo Agenda2.prg e da o mesmo erro no open do AdoDb.Connection (S_ok)
o ADO funciona somente para Firebird 1.5 ?
Pena !! qual a versão do Firebird que vc usa ?
Re: harbour x firebird?
Enviado: 22 Dez 2010 08:34
por pena
sim, falei da versao do firebird, eu utilizo a 2.5 tb, e o primeiro programa que usei para testes foi o agenda2, porem hj eu faço a conexão um pouco diferente, mas em resumo é igual.
Código: Selecionar todos
Public ecfpoucopapel, sistema,mconsulta,cnn,CUSER:="SYSDBA",cpassword:="masterkey",caddress:="Localhost",cdatabase:=BASEDEDADOS()+"BANCO.FDB"
Try
CNN:=CreateObject("ADODB.Connection")
cStringConnection := "DRIVER=Firebird/InterBase(r) driver; UID="+cUser+"; PWD="+cPassword+";DBNAME="+cAddress+":"+cDataBase
CNN:Open(cStringConnection)
Catch e
MsgStop("Não foi possivel conectar com o banco")
MsgStop("Operação: "+E:operation+"-"+"Descrição: "+E:Description+chr(10)+vMat(e:Args))
ExitProcess(0)
End
Re: harbour x firebird?
Enviado: 22 Dez 2010 08:57
por DLZ
Bom dia.
Poxa vida Pena, é a mesma coisa que tenho aqui, só que da o erro S_ok !!
não entendo pq não funciona.. será que só funciona com minigui ? não funciona em modo Console ?
Re: harbour x firebird?
Enviado: 22 Dez 2010 09:11
por DLZ
Complilei com Minigui tb, mas da o mesmo problema !!
o q significa o erro que retonra ? s_ok ??
Pena, vc tem msn, skype ou alguma coisa que a gente possa fazer contato..
acho impossível que pra ti funcione e pra mim não !!