Amiguinhos,
Tenho um sistema em clipper 5.2e + Blinker 7.0 + Six 3.0, que já está rodando a bastante tempo sem nenhum problema.
Entretanto, o volume de dados tem crescido bastante, e veio a necessidade de criar um sistema de retaguarda, onde é feito análise das vendas. Para atingir as expectativas, fiz um sistema simples em Delphi que importa os dados dos dbf.
Recentimente com a ajuda do AlaminoJúnior e o Wagner, comecei a garimpar com o Xharbour, e hoje estou fazendo um upgrade no sistema usando xHarbour 1.0.0 (simplex) + hgWVW.
Confesso que estou muito feliz com o avanço que fiz.
Pesquisando aqui no forum, vi muita coisa sobre o mysql e pensei em migrar tanto o sistema xHarbour quanto em Delphi para Mysql.
- Agora, existe uma segunda opcão que seria até mais lógica, de deixar por enquanto os meus sistemas dbf normalmente, entretanto atualizando o banco do FireBird automaticamente. Só que é ai que entra a minha dúvida, como fazer isso?
Alguém sabe como eu posso usar o firebird 2.1 com xHarbour 1.0.0 (simplex). O que preciso é gravar os dados somentes, não irei utilizar os fb para query nem em relatórios no xh.
Muito Obrigado a todos!
Abraço!
Acesso ao FireBird
Moderador: Moderadores
Acesso ao FireBird
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: ACESSO AO FIREBIRD
xHarbour acredito que somente usando a versão paga do xharbour.com, mas com harbour tem na pasta CONTRIB, veja abaixo um exemplo da pasta CONTRIB\HBFBIRD
simple.prg
simple.prg
Código: Selecionar todos
/*
* $Id: simple.prg 10153 2009-02-03 02:05:45Z druzus $
*/
#include "common.ch"
Function main()
Local oServer, oQuery, oRow, i, x, aTables, aStruct, aKey
Local cServer := '192.168.1.33:D:\firebird\test\test.gdb'
Local cUser := 'sysdba'
Local cPass := 'masterkey'
Local nDialect := 1
Local cQuery
if File('test.gdb')
FErase('test.gdb')
end
? FBCreateDB('test.gdb', cuser, cpass, 1024, 'ASCII', nDialect )
? "Connecting..."
oServer := TFBServer():New(cServer, cUser, cPass, nDialect)
if oServer:NetErr()
? oServer:Error()
quit
end
? 'Tables...'
For x := 1 to 1
aTables := oServer:ListTables()
For i := 1 to Len(aTables)
? aTables[i]
next
Next
? 'Using implicit transaction...'
if oServer:TableExists('TEST')
oServer:Execute('DROP TABLE Test')
oServer:Execute('DROP DOMAIN boolean_field')
end
? 'Creating domain for boolean fields...'
oServer:Execute('create domain boolean_field as smallint default 0 not null check (value in (0,1))')
oServer:StartTransaction()
? 'Creating test table...'
cQuery := 'CREATE TABLE test('
cQuery += ' Code SmallInt not null primary key, '
cQuery += ' dept Integer, '
cQuery += ' Name Varchar(40), '
cQuery += ' Sales boolean_field, '
cQuery += ' Tax Float, '
cQuery += ' Salary Double Precision, '
cQuery += ' Budget Numeric(12,2), '
cQuery += ' Discount Decimal(5,2), '
cQuery += ' Creation Date, '
cQuery += ' Description blob sub_type 1 segment size 40 ) '
oServer:Execute(cQuery)
if oServer:neterr()
? oServer:Error()
end
oServer:Commit()
oQuery := oServer:Query('SELECT code, dept, name, sales, salary, creation FROM test')
wait
? 'Structure of test table'
aStruct := oServer:TableStruct('test')
For i := 1 to Len(aStruct)
?
For x := 1 to Len(aStruct[i])
?? aStruct[i,x]
Next
next
? 'Inserting, declared transaction control '
oServer:StartTransaction()
For i := 1 to 100
cQuery := 'INSERT INTO test(code, dept, name, sales, tax, salary, budget, Discount, Creation, Description) '
cQuery += 'VALUES( ' + str(i) + ', 2, "TEST", 1, 5, 3000, 1500.2, 7.5, "12-22-2003", "Short Description about what ? ")'
oServer:Execute(cQuery)
if oServer:neterr()
? oServer:error()
end
Next
oServer:Commit()
oQuery := oServer:Query('SELECT code, name, description, sales FROM test')
aStruct := oQuery:Struct()
For i := 1 to Len(aStruct)
? aStruct[i,1], aStruct[i,2], aStruct[i,3], aStruct[i,4]
Next
aKey := oQuery:GetKeyField()
? "Fields: ", oQuery:Fcount(), "Primary Key: ", aKey[1]
oRow := oQuery:Blank()
? oRow:FCount(), ;
oRow:Fieldpos('code'), ;
oRow:Fieldget(1), ;
oRow:Fieldname(1), ;
oRow:Fieldtype(1), ;
oRow:Fielddec(1), ;
oRow:Fieldlen(1), ;
len(oRow:Getkeyfield())
oRow:Fieldput(1, 150)
oRow:Fieldput(2, 'MY TEST')
? oRow:Fieldget(1), oRow:Fieldget(2)
? oServer:Append(oRow)
? oServer:Delete(oQuery:blank(), 'code = 200')
? oServer:Execute('error caused intentionaly')
DO WHILE ! oQuery:Eof()
oQuery:Skip()
? oQuery:Fieldget(oQuery:Fieldpos('code')), ;
oQuery:Fieldget(4), ;
oQuery:Fieldget(2), ;
oQuery:Fieldname(1),;
oQuery:Fieldtype(1), ;
oQuery:Fielddec(1), ;
oQuery:Fieldlen(1),;
oQuery:Fieldget(3)
if oQuery:Recno() == 50
oRow := oQuery:getrow()
oRow:Fieldput(2, 'My Second test')
? 'Update: ', oServer:Update(oRow)
end
if oQuery:Recno() == 60
oRow := oQuery:getrow()
? 'Delete: ', oServer:Delete(oRow)
end
END
? 'Delete: ', oServer:Delete(oQuery:Blank(), 'code = 70')
oQuery:Refresh()
DO WHILE oQuery:Fetch()
oRow := oQuery:getrow()
? oRow:Fieldget(oRow:Fieldpos('code')), ;
oRow:Fieldget(4), ;
oRow:Fieldget(2), ;
oRow:Fieldname(1),;
oRow:Fieldtype(1), ;
oRow:Fielddec(1), ;
oRow:Fieldlen(1),;
oRow:Fieldget(3)
END
oQuery:Destroy()
oServer:Destroy()
? "Closing..."
return nil
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Re: ACESSO AO FIREBIRD
Vc pode usar o adodb/oledb pra usar com o firebird de qualquer versão, pode usar também o adordd pra isso.
Basta ter um conhecimento básico de sql, é algo que já está disponivel no windows xp, funciona bem tanto em harbour como em xharbour, também pode usar com outros bancos sql.
Basta ter um conhecimento básico de sql, é algo que já está disponivel no windows xp, funciona bem tanto em harbour como em xharbour, também pode usar com outros bancos sql.
Ramon A. Körber Jr.
Harbour 3.2 MiniGUI Extended Edition
xDevStudio v0.70 - BCC 5.82 - Lazarus FreePascal
Firebird
AdoDB - ODBC
Windows - Linux
Linux User Number 404280
MSN - ramon15061959@hotmail.com
Skype - ramon15061959
ICQ - UIN 82580595
Harbour 3.2 MiniGUI Extended Edition
xDevStudio v0.70 - BCC 5.82 - Lazarus FreePascal
Firebird
AdoDB - ODBC
Windows - Linux
Linux User Number 404280
MSN - ramon15061959@hotmail.com
Skype - ramon15061959
ICQ - UIN 82580595
Re: Acesso ao FireBird
Amiguinhos,
Obrigado pelas respostas. Entretanto RamonXHB, poderia me explicar mais detalhadamente como trabalhar com o ADOdb, visto que pude observar na net é uma biblioteca de abstração de banco de dados.
- Gostaria de saber como compilar, como funciona o processo de gravação no banco Fb com esta biblioteca.
- Por favor, se tiver como citar um exemplo, ficaria muito agradecido.
Muito Obrigado,
Sucesso para todos.
Abraço.
Obrigado pelas respostas. Entretanto RamonXHB, poderia me explicar mais detalhadamente como trabalhar com o ADOdb, visto que pude observar na net é uma biblioteca de abstração de banco de dados.
- Gostaria de saber como compilar, como funciona o processo de gravação no banco Fb com esta biblioteca.
- Por favor, se tiver como citar um exemplo, ficaria muito agradecido.
Muito Obrigado,
Sucesso para todos.
Abraço.
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
Re: Acesso ao FireBird
Existe nos arquivos do grupo miniguibrasil do yahoo um exemplo chamado Agendafb, desenvolvido com harbour-minigui, neste exemplo tem todas as necessidades de inclusão, alteração, exclusão e filtragem usando um banco de dados firebird.
Ramon A. Körber Jr.
Harbour 3.2 MiniGUI Extended Edition
xDevStudio v0.70 - BCC 5.82 - Lazarus FreePascal
Firebird
AdoDB - ODBC
Windows - Linux
Linux User Number 404280
MSN - ramon15061959@hotmail.com
Skype - ramon15061959
ICQ - UIN 82580595
Harbour 3.2 MiniGUI Extended Edition
xDevStudio v0.70 - BCC 5.82 - Lazarus FreePascal
Firebird
AdoDB - ODBC
Windows - Linux
Linux User Number 404280
MSN - ramon15061959@hotmail.com
Skype - ramon15061959
ICQ - UIN 82580595
Re: Acesso ao FireBird
[RamonXHB]
Vc teria esse arquivo de exemplo para me enviar.
Para entrar baixar o arquivo de onde vc informou, eu teria que fazer incrição no grupo, alem de pertencer ao yahoo.
Como eu só quero ver como é feito (fontes) acho que criar todas as incrições e contas é desperdicio. (dos recursos do yahoo)
Se puder enviar, gvcortez@uol.com.br
Desde já, obrigado.
Vc teria esse arquivo de exemplo para me enviar.
Para entrar baixar o arquivo de onde vc informou, eu teria que fazer incrição no grupo, alem de pertencer ao yahoo.
Como eu só quero ver como é feito (fontes) acho que criar todas as incrições e contas é desperdicio. (dos recursos do yahoo)
Se puder enviar, gvcortez@uol.com.br
Desde já, obrigado.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Acesso ao FireBird
Bom, para quem sabe temos também o SQLRDD que é uma LIB comercial porem muito boa, e que acessa Firebird nativamente e os resultados são otimos com xHarbour.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql

