Página 1 de 4
Firebird
Enviado: 25 Jun 2020 17:59
por leandrolinauer
Boa tarde a todos.
Sou novato em SQL, mas estou precisando muito de migrar para o tal SGDB.
Optei por usar firebird.
Estou usando a contrib hbfbird.
Já fiz no sistema e esta funcionando:
-Criação do banco de dados
-Criação das tabelas
Estou partindo para as demais funções, INSERIR, ALTERAR, EXCLUIR etc.
Pergunto:
- Alguem já usou ou usa HBFBIRD?
Esta completa, funcional, etc, e principalmente segura?
- Qual a diferença abaixo e porque e qual forma usar é melhor?
Vou colocar uma função apenas abaixo, 3 formas de conectar
- db := FBConnect( cServer + cDatabase, cUser, cPass ) // ( contrib test.prg)
- oServer := TFBServer():New( cServer + cDatabase, cUser, cPass, nDialect ) ( contrib stress.prg)
- &(oSQL):= Todbc():new('DRIVER=Firebird/InterBase(r) driver;UID='+cUser+';PWD='+cPass+';DBNAME='+cDatabase+";'") //Odbc
Qual das tres formas seria melhor para usar, visto para as demais funções necessárias para manipular dados.
Um abraço
Grato
Firebird
Enviado: 26 Jun 2020 11:18
por RamonXHB
Bom dia, Leandro.
Eu uso firebird com ADO, e minha string de conexão é semelhante a essa abaixo:
- &(oSQL):= Todbc():new('DRIVER=Firebird/InterBase(r) driver;UID='+cUser+';PWD='+cPass+';DBNAME='+cDatabase+";'") //Odbc
Aqui funciona muito bem.
Vou acompanhar suas postagens e as respostas do povo.
Firebird
Enviado: 26 Jun 2020 16:04
por leandrolinauer
Boa tarde RamonXHB.
Grato pelo retorno, então você utiliza através do ado e esta funcionando bem, vc poderia me passar alguns exemplos de inclusão, alteração, exclusão e tratamento dos retornos e manipulação em browse para eu poder seguir um caminho já funcional.
Sou programador em DBF a muitos anos e não consegui entender muito SQL, apanho um pouco.
Fico muito grato.
E vc sabe me dizer porque há 3 formas distintas de fazer comunicação ou pelo menos duas sem ADO, qual a vantagem de usar ADO e de não usar.
Grato
Firebird
Enviado: 27 Jun 2020 13:41
por RamonXHB
Boa tarde, Leandro.
Uso ADO pela facilidade de trocar o banco de dados usado, sem complicações, o ADO serve para acessar qualquer banco de dados, e se precisar modificar alguma coisa, serão detalhes nos comandos sql, para adequar ao banco utilizado.
Pode ser usado também, ODBC, usando as libs do próprio Harbour.
E também, o SQLMIX.
Estas ultimas duas, tomei conhecimento, mas não cheguei a usar.
Tenho um exemplo de agenda em MiniGUI que posso lhe enviar, o exemplo inclui, exclui, altera, e carrega um grid, separado por letra inicial, que ajudaria a entender o processo usado para relatórios, grids, bem simples de entender.
O uso de libs específicas dos bancos de dados, como Mysql/MariaDB, Postgres, e a propria Hbfbird, deixam seu sistema preso a estes bancos, o que eu, particularmente, vejo como desvantagem.
Não tenho exemplos com interface caracter.
Se quiser, posso disponibilizar o exemplo para você.
Firebird
Enviado: 29 Jun 2020 08:37
por leandrolinauer
Bom dia.
Sim gostaria muito de receber o seu exemplo, me ajudaria a entender este mundo SQL do qual ainda não sou detentor de 1% de conhecimento.
Pode me enviar para
leandrolinauer@hotmail.com
Grato
Firebird
Enviado: 29 Jun 2020 13:36
por rubens
Boa tarde...
Isso é interessante...
Não tem como disponibilizar para todos os usuários aqui no site..?
Obrigado
Rubens
Firebird
Enviado: 29 Jun 2020 15:09
por RamonXHB
Tem nos downloads do site, mas eu não consigo acessar, pra confirmar a versão.
Firebird
Enviado: 29 Jun 2020 16:46
por leandrolinauer
Boa tarde.
Tbem não estou conseguindo acessar a pagina de downloads, deve ser algum problema no site.
Assim que vc conseguir, envia o link.
Grato
Firebird
Enviado: 29 Jun 2020 16:51
por RamonXHB
Já enviei...
Firebird
Enviado: 30 Jun 2020 10:11
por leandrolinauer
Bom dia
Pediu solicitação de acesso a conta.
Aguardando...
Se puder enviar no email o anexo, seria melhor.
Grato
Firebird
Enviado: 01 Jul 2020 10:58
por leandrolinauer
Bom dia
Recebi, mas não consegui usar.
Código: Selecionar todos
CNN:=CreateObject("ADODB.Connection")
CNN:Open("DRIVER=Firebird/InterBase(r) driver;UID='+oSQL_Login+';PWD='+oSQL_PWD+';DBNAME='+oSQL_DataBase+';")
Erro
[ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login. (0x80040E4D)
Se eu adciono o ADODB.CH o programa não roda, da conflito com a GTWVW
Erro
Unrecoverable error 6005: Exception error:
Exception Code:C0000005 ACCESS_VIOLATION
Called from WVW_SETTITLE(0) //erro na primeira linha GTWVW
Firebird
Enviado: 02 Jul 2020 13:52
por RamonXHB
Vamos por partes...
1 - Qual versão do Firebird você está usando ?
2 - Esse programa foi feito em minigui, não vai rodar na GTWVW.
3 - Instalou o driver ODBC ?
Firebird
Enviado: 03 Jul 2020 17:52
por leandrolinauer
Boa tarde.
Desculpe a demora, agora que acessei novamente o forum.
Vamos lá.
1 - Qual versão do Firebird você está usando ? (2.5)
2 - Esse programa foi feito em minigui, não vai rodar na GTWVW. (OK, fiz de outra forma e deu certo)
3 - Instalou o driver ODBC ? (Sim)
Valeu, sou teimoso fui batendo cabeça atá acertar com algumas funções prontas dos colegas, fui adaptando e criei as minhas.
Já consigo
-CRIAR O BANCO
-CRIAR TABELAS
-INSERIR DADOS
Estou agora gerando os comandos nos arquivos para criação de todas as tabelas que uso no sistema e limpando o que não uso mais.
-Duvida agora estou quanto:
- a indices, se preciso ou nao, se é melhor se ou nao,
- a chave primária como deve ser composta, exemplo: CODIGO+NR_DOC+DATA
Vou rodar para criar todas as tabela e depois ver como ficou a questão dos indices.
Semana que vem parto para busca na tabela SQL e montar Browse com elas.
Grato pela ajuda.
Firebird
Enviado: 08 Jul 2020 10:23
por RamonXHB
Bom dia Leandro.
Está usando a contrib hbfbird, ou mudou pro ADODB?
Já fez um comparativo de desempenho ?
Funciona bem, em sua opinião ?
Teria um exemplo para eu conhecer ?
Firebird
Enviado: 08 Jul 2020 11:38
por leandrolinauer
Bom dia.
Como sou velho (46anos rsrsrsrs), e não manjo nada de SQL blablabla, estou batendo cabeça com ele agora porque preciso realmente migrar para SGDB.
Escolhi o firebird, enes motivos, dentre um deles, facil instalação.
Quanto a ADO ou outra coisa, fiquei realmente muito confuso nisto, mas consegui dar continuidade através do HBFBIRD da contrib do harbour, e a conexão com o FIREBIRD consegui através do ODBC.
Abaixo as funções são de contribuições do fórum e sua das quais estou adaptando para meu uso.
- CRIO O BANCO DE DADOS:
Código: Selecionar todos
oSQL_DataBase := oSQL_IP_Srv +"/" + oSQL_Porta + ":" + oSQL_Path + "/" + oSQL_DbNome
FBCreateDB( oSQL_DataBase, oSQL_Login, oSQL_Pwd, oSQL_nPageSize, oSQL_cCharSet, oSQL_nDialect )
- CONECTO O BANCO DE DADOS:
Código: Selecionar todos
(oSQL_Conect):= Todbc():new('DRIVER=Firebird/InterBase(r) driver;UID='+oSQL_Login+';PWD='+oSQL_PWD+';DBNAME='+oSQL_DataBase+";'")
- VERIFICO AS TABELAS:
Código: Selecionar todos
If Empty(x:=FB_TabExiste( nTab))
If !FB_CreateTable( nTab,cCampos,nKeyPri,nIndices,nUser)
EndIf
EndIf
Estou atualmente tentando criar alguma coisa genérica para usar em SELECT
Algo parecido com ADO ou igual (rsrsrs), algo que eu posso pegar o conteúdo de forma mais clara como fazia em DBF.
Quanto a ADO não consegui fazer funcionar e tbem ficaria preso ao windows.
Se tiver mais algo que possa me ajudar, fico grado
Grato