Fórum Trocar Interbase pelo Firebird? #37139
26/06/2003
0
Alguém sabe me dizer se poderia haver problemas de compatibilidade nos meus programas já criados em Delphi 6 nos quais utilizo bastante comandos SQL?
Quais as principais vantagens do Firebird sobre o Interbase que eu poderia aproveitar?
Alexandre7
Curtir tópico
+ 0Posts
26/06/2003
Alexandre7
Gostei + 0
28/06/2003
Tomcorreia
a vantagem é que o FireBird é free e rapido
Gostei + 0
28/06/2003
Afarias
Isso não é bem ´correto´. Depende das versões de ambos. Se me recordo, o ODS do IB 7.1 não é o mesmo do IB 6.0 -- não sendo assim DIRETAMENTE compatível com o FB 1.0 por exemplo.
>> para converter faca um backup do interbase e restore no firebird.
Apropriado.
>> a vantagem é que o FireBird é free e rapido
Rápido?? Quer dizer mais rápido q o IB?? Acho q não dá pra afirmar isso. Depende da plataforma, do q se está fazendo, das versões do IB/FB, etc.
Abraço
Gostei + 0
29/06/2003
Jarod
mas o Interbase 6 tb nao é free? onde encontro a ultima versão do firebird?
Gostei + 0
29/06/2003
Afarias
SIM -- existe uma versão OpenSource do IB 6.0 q vc pode baixar na MERS: http://mers.com/
Más, este produto não está mais em desenvolvimento, de forma q haverá mais atualizações futuras. -- Se atende suas necessidades, use-o, más planeje o ´futuro´ de seu software.
>> onde encontro a ultima versão do firebird?
http://www.firebirdsql.org/
http://www.ibphoenix.com/
T+
Gostei + 0
05/07/2003
Marcelo Carvalho
Ouvi dizer que pode haver incompatibilidade do IBX, pois apesar das primeiras versões serem compatíveis com IB e FB, a tendência seria a divergência progressiva entre as duas bases de dados acabar com essa compatibilidade.
Como está isso agora ? Se eu pegar uma aplicação compilada no D7, e com o IBX que veio com ele, roda no FB mais recente (1.5) sem alterações ?
[][][][]
Marcelo.
Gostei + 0
05/07/2003
Afarias
|primeiras versões serem compatíveis com IB e FB, a tendência seria a
|divergência progressiva entre as duas bases de dados acabar com essa
|compatibilidade.
[b:587c626a53]CORRETO[/b:587c626a53]
|Como está isso agora ?
[b:587c626a53]O IB 6.0 é 99¬ compatível com o FB 1.0 e pronto![/b:587c626a53]
|Se eu pegar uma aplicação compilada no D7, e com o IBX que veio com
|ele, roda no FB mais recente (1.5) sem alterações ?
[b:587c626a53]Não sei dizer com certeza. Acredito q o IBX trabalhe bem com o FB 1.5 em quase tudo... más *pode* ser q vc ache algum problema -- é só testar... dependendo do caso, pode ser melhor partir para opções mais específicas como o FIB ou IBO -- más lembre-se q não são gratúitos!
e, não utilize o IBX q vem com o Delphi 7, atualize para as versões mais recentes!
[/b:587c626a53]
T+
Gostei + 0
09/07/2003
Marcelo Carvalho
Putz! 99¬ significa [b:21f8fa8314]quase[/b:21f8fa8314] é compatível. O problema é o quase...
Claro que podemos testar, no que diz respeito à sintaxe de queries, compatibilidade do SQL, UDFs, etc. Sei que o FB está colocando recursos das versões mais novas do IB, como paginação, etc.
O problema é: podem ocorrer erros mais difíceis de serem previstos, como GPFs e outros paus quando o sistema estiver em produção, devido a uma incompatibilidade, ou essas incompatibilidades apareceriam logo em testes triviais de sintaxe e compatibilidade de funções e SQL?
Quanto ao FIB ou IBO, nada contra comprar bons componentes, que facilitam nosso trabalho. Só que é pular do caldeirão para a frigideira. Economizamos no BD e gastamos no componente. No IB pelo menos o IBX já vem com o Delphi... Componentes de terceiros costumam criar uma dependência de terceiros que dura para as próximas atualizações do Delphi... :?
Obrigado pelas respostas!
Gostei + 0
09/07/2003
Afarias
Eu diria: ´totalmente´ Compatível :-)
|Claro que podemos testar, no que diz respeito à sintaxe de queries,
|compatibilidade do SQL, UDFs, etc.
Sintaxe do SQL é o de menos. Basta conhecer e usar apenas o q cabe a cada banco. Os problemas reais são:
1 - API
* más neste caso o FB não mudou muito e provê uma dll de compatibilidade (um gds32.dll q aponta pra fbclient.dll) permitindo assim q aplicações feitas para IB rodem em FB.
2 - Tabelas de Sistema
* aqui é outra coisa q ´ainda´ não mudou muito... os componentes de acesso muitas vezes utilizam dessas tabelas de sistema e ai pode haver problemas...
|Sei que o FB está colocando recursos das versões mais novas do IB,
|como paginação, etc.
Más em nenhum momento o FB está realmente focado em implementar as funcionalidades dos novos IB! Más sim realizar seus próprios melhoramentos de acordo com a vontade de seus usuários.
|O problema é: podem ocorrer erros mais difíceis de serem previstos,
|como GPFs e outros paus quando o sistema estiver em produção,
Na verdade, o ´grande´ problema está no futuro! -- Utilizando IBX vc ´pode´ não ter acesso a algumas novas funcionalidades do FB (tipo uma nova API num FB 2.0 -- só especulando)
Quanto a atualidade, devido a vontade do FB manter a compatibilidade com o IB (pelo menos até o FB 1.5), acredito q enquanto o IBX suportar versões anteriores do IB (mais especificamente a 6.0) -- não deve haver grandes problemas.
|devido a uma incompatibilidade, ou essas incompatibilidades
|apareceriam logo em testes triviais de sintaxe e compatibilidade de
|funções e SQL?
faça testes com querys e procedimentos ´REAIS´... acho q logo acharia problemas (se houver). Acho q vc não tem q se preocupar muito com ´funcionalidades´ q *nunca* irá utilizar em seus programas.
|Quanto ao FIB ou IBO, nada contra comprar bons componentes, que
|facilitam nosso trabalho.
CONCORDO! Principalmente quando desenvolvemos softwares comerciais.
|Só que é pular do caldeirão para a frigideira.
|Economizamos no BD e gastamos no componente.
Não é bem assim! 1 - componentes são bem mais baratos e 2 - nossos clientes não tem q comprar os componentes (e ficam muito felizes de não ter q comprar o banco também -- principalmente pequenos clientes q não tem a condição de pagar por ´coisas´ como Oracle, SQL Server e etc).
|No IB pelo menos o IBX já vem com o Delphi...
|Componentes de terceiros costumam criar uma dependência de terceiros
|que dura para as próximas atualizações do Delphi...
Por isso é bom tentar conhecer bem a empresa q esta fornecendo o componente e verificar sua história e comprometimento
Abraço
Gostei + 0
09/07/2003
Afarias
claro q o Interbase é um ótimo produto e, BEM mais barato q os outros bancos q eu citei.
Dependendo de mercado q vc trabalha, claro q pode valer a pena trabalhar com as versões mais recentes do IB e compra suas licenças.
Abraço.
Gostei + 0
09/07/2003
Marcelo Carvalho
Obrigado pelas respostas!
Na verdade o quadro que você delineou é bem favorável à compatibilidade. :D
Mas, na prática, [color=red:d3c7bad3ae][b:d3c7bad3ae]agora[/b:d3c7bad3ae][/color:d3c7bad3ae], compensa pensar em passar do IB 6.02 pro FB 1.5 ? Há algum ganho considerável em seu uso ? (relacionados mais à estabilidade e velocidade, e não a novos recursos)
Se sim, acredito que então valeria a pena adquirir uma biblioteca específica pro FB e utilizá-la em novos projetos, mantendo os antigos inalterados com o IBX, usufruindo do benefício da compatibilidade do IBX com o FB. By the way... você recomenda especificamente uma das que você citou ?
Se não, melhor continuar com o IB6.02 e IBX até que a diferença valha a pena...
[i:d3c7bad3ae] más neste caso o FB não mudou muito e provê uma dll de compatibilidade (um gds32.dll q aponta pra fbclient.dll) permitindo assim q aplicações feitas para IB rodem em FB. [/i:d3c7bad3ae]
Legal isso! É só espetar esse GDS32.dll, mais o fbclient.dll junto do executável ? Ainda funciona, no FB mais recente, aquela possibilidade de se acessar o BD sem [b:d3c7bad3ae]nenhuma[/b:d3c7bad3ae] instalação no cliente ?
[i:d3c7bad3ae]Sintaxe do SQL é o de menos. Basta conhecer e usar apenas o q cabe a cada banco.[/i:d3c7bad3ae]
Acho importante, pois muitos programas constroem suas próprias queries, e se a sintaxe for diferente teríamos que alterar seus códigos.
[i:d3c7bad3ae]Más em nenhum momento o FB está realmente focado em implementar as funcionalidades dos novos IB! Más sim realizar seus próprios melhoramentos de acordo com a vontade de seus usuários. [/i:d3c7bad3ae]
Mas a tendência é que as boas idéias sejam seguidas. A paginação, muito útil em aplicações Web, é um bom exemplo de melhoria do IB6.5 que parece que tem no FB mais novo. (não sei qual o implementou primeiro)
[i:d3c7bad3ae]Não é bem assim! 1 - componentes são bem mais baratos e 2 - nossos clientes não tem q comprar os componentes (e ficam muito felizes de não ter q comprar o banco também (...)
Por isso é bom tentar conhecer bem a empresa q esta fornecendo o componente e verificar sua história e comprometimento [/i:d3c7bad3ae]
Concordo que sai mais barato adquirir o componente.
Tive a experiência com o ImageLib, que uso desde o Delphi 1. O problema é que em alguns upgrades do Delphi não era possível usar a anterior, e eu tive que recomprá-lo algumas vezes. Pelo menos nas últimas versões isso não tem sido necessário. Além disso o suporte do Delphi a JPEG e GIF melhorou, e quando eu não conseguir mais atualizar o ImageLib, encararei uma reforma no aplicativo com componentes nativos da VCL.
[i:d3c7bad3ae]e, não utilize o IBX q vem com o Delphi 7, atualize para as versões mais recentes![/i:d3c7bad3ae]
Há algum bug sério? Na verdade não me preocupei com isso desde que comprei o D7. Na verdade tenho receio a cada upgrade do IBX dele se distanciar do IB6.02.
Mais uma vez, obrigado!
Gostei + 0
10/07/2003
Afarias
|1.5 ? Há algum ganho considerável em seu uso ? (relacionados mais à
|estabilidade e velocidade, e não a novos recursos)
Depende de suas necessidades (e do seu sistema e clientes) -- a lista com melhoramentos no FB 1.5 é longa e vc pode ler aqui:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/firebird/firebird2/doc/WhatsNew?rev=HEAD&content-type=text/vnd.viewcvs-markup
Eu citaria como algumas principais:
* Novo gerenciador de memória
* Ordenação em memória (ORDER BY)
* Alias de conexão no servidor
* TRIGGERS Universais (uma só trigger para Delete, Update, Insert)
* Novas funções internase: CASE, NULIF, COALESCE
* GROUP BY por funções ou ordem
* Comando EXECUTE VARCHAR (querys ´dinâmicas´)
* Lock de registros explícito
* Algumas otimizações do servidor
* SAVEPOINTs para transações
* Classic Server para Windows (solução para multi-processamento)
|Se sim, acredito que então valeria a pena adquirir uma biblioteca
|específica pro FB e utilizá-la em novos projetos,
Verdade
|By the way... você recomenda especificamente uma das que você citou?
Não tenho experiência REAL com nenhum deles. Agora, prefiro particularmente o ´FIB plus´ pois seu projeto é bem parecido ao IBX (pra não dizer ´igual´). O IBO é bom mais tem um ´Péssimo´ projeto (definições de classes e componentes) -- más, devido minha pouca experiência, minha posição aqui não é muito válida.
|Legal isso! É só espetar esse GDS32.dll, mais o fbclient.dll junto do
|executável ?
humm... é! basicamente esta é a instalação do FB Client.
|Ainda funciona, no FB mais recente, aquela possibilidade de se acessar
|o BD sem nenhuma instalação no cliente?
Acredito q isso NUNCA existiu. Sempre houve e HÁ a necessidade do cliente FB ou IB (no mínimo a GDS32.DLL)
|Acho importante, pois muitos programas constroem suas próprias
|queries, e se a sintaxe for diferente teríamos que alterar seus códigos.
Em alguns pontos ela é! Como por ex para selecionar uma quantidade específica de registros. No IB 6.5+ a sintaxe é ROWS e no FB (se não me engano) é TOP
|Mas a tendência é que as boas idéias sejam seguidas. A paginação,
|muito útil em aplicações Web, é um bom exemplo de melhoria do IB6.5
|que parece que tem no FB mais novo. (não sei qual o implementou
|primeiro)
Se vc se refere a poder selecionar uma quantidade FIXA de registros, então veja meu comentário acima.
|Há algum bug sério? Na verdade não me preocupei com isso desde que
|comprei o D7. Na verdade tenho receio a cada upgrade do IBX dele se
|distanciar do IB6.02.
SIM! existem bugs sérios principalmente para quem trabalha com DataSnap. Não se preocupe (ainda) quanto ao IB6.02. -- Procure atualizar para o IBX 7.04 ou 7.05 -- a última versão para D7 (7.06) ainda parece instável, de forma q recomendo esperar mais umas 3-4 semanas antes de atualizar -- e na verdade o único ganho dela é para usuários do IB 7.0 e 7.1
Abraço
Gostei + 0
10/07/2003
Marcelo Carvalho
Puxa, uma verdadeira aula de FB! :)
Pelos seus comentários, aparentemente há mais benefícios no FB para futuros projetos, do que para projetos atuais, que não usariam a maioria desses recursos novos. Talvez só as otimizações do servidor e o gerenciador de memória trariam maior eficiência a projetos já em operação.
Acho que por enquanto a idéia (pelo menos no nosso caso) é ir explorando o FB, pensando no futuro, mas acho que não compensa forçar os clientes a trocarem de banco de dados para as aplicações atuais.
> [i:27b57c7789]Acredito q isso NUNCA existiu. Sempre houve e HÁ a necessidade do cliente FB ou IB (no mínimo a GDS32.DLL)[/i:27b57c7789]
Quando migrei do BDE/DBase pro IB, eu queria me livrar da sua instalação, e da necessidade de reboot. Precisava ser algo que uma vez instalado no servidor, pudesse ser acessado pelos clientes sem [b:27b57c7789]absolutamente nenhuma[/b:27b57c7789] instalação.
Isso foi possível usando uma GDS32.dll do FB, que talvez nem exista mais devido às novas versões. Ela funciona perfeitamente entre as aplicações que usam IBX e o IB 6.02.
Ela evita a necessidade de se configurar o SERVICES do Windows, usando a porta padrão do IB caso não haja especificação em contrário. Basta colocá-la junto ao executável, que ele sai rodando. Não se tratando de um banco de dados sigiloso, uso a senha default e nem usuário preciso criar.
Assim, um eventual ´novo cliente´ do banco de dados só precisa puxar um atalho do servidor e o aplicativo sai rodando. A instalação só precisa ser feita uma única vez, no servidor, incluindo o aplicativo (com a GDS32.dll) e o próprio servidor IB (e sem reboot). Tenho feito esta distribuição há cerca de um ano, em diversos clientes, sem nenhum problema.
> [i:27b57c7789]humm... é! basicamente esta é a instalação do FB Client.[/i:27b57c7789]
Por que o ´humm´ ? No FB atual (1.5) não basta colocar a sua dll ? Precisa rodar algum instalador específico ou configurar alguma coisa ?
A propósito, como está o FB no mercado? Não vemos muita informação a seu respeito fora do mundo Delphi (nem sobre o IB). É seguro apostar nele para uma aplicação comercial ?
Mais uma vez obrigado!
Gostei + 0
10/07/2003
Afarias
|futuros projetos, do que para projetos atuais ...
É uma aposta
|Acho que por enquanto a idéia (pelo menos no nosso caso) é ir
|explorando o FB, pensando no futuro, ...
Compartilho deste pensamento
|Isso foi possível usando uma GDS32.dll do FB, que talvez nem exista
|mais devido às novas versões. Ela funciona perfeitamente entre as
|aplicações que usam IBX e o IB 6.02.
A gds32.dll é basicamente o ´Interbase Client´. No FB seu nome mudou para fbclient.dll, más como disse anteriormente junto com a fbclient.dll o FB disponibiliza uma gds32.dll que apenas re-passa as chamadas para a fbclient.dll (para manter compatibilidade)
|Ela evita a necessidade de se configurar o SERVICES do Windows,
|usando a porta padrão do IB caso não haja especificação em contrário.
Isso foi uma das mudanças do FB
|Basta colocá-la junto ao executável, que ele sai rodando.
É uma forma de usar...
|Por que o ´humm´ ? No FB atual (1.5) não basta colocar a sua dll ?
|Precisa rodar algum instalador específico ou configurar alguma coisa?
Pq o ´IB/FB Client´ é constituído também por outros arquivos de menor importância (como interbase.msg) e chaves de registro. Além do quê o ´correto´ é ter o gds32.dll (e/ou fbclient.dll) na pasta de sistema do Windows pois vários aplicativos IB/FB rodando na mesma máquina *ao mesmo tempo* com suas próprias DLLs podem causar problemas.
Más em geral, seu procedimento funciona bem -- tanto q vc tem usado a bastante tempo.
|A propósito, como está o FB no mercado? Não vemos muita informação
|a seu respeito fora do mundo Delphi (nem sobre o IB).
http://www.firebase.com.br/
http://www.ibphoenix.com/
|É seguro apostar nele para uma aplicação comercial?
É difícil responder se é possível apostar nele para um futuro distante, más existem boas chances. Para o mercado atual de pequenos e médios sistemas comerciais acho uma ótima opção -- e tb é possível apostar para alguns dos grandes. :)
Abraço
Gostei + 0
11/07/2003
Baddream
Após isso, comecei a usar delphi com paradox, depois testando com db2, oracle, sql server, etc... Até sair a versão open source do interbase. Adorei a idéia da Borland, e comecei a utilizar o interbase.
Depois, saiu o Firebird e o anúncio que as novas versões do Interbase não seriam mais ´gratuitas´ (as pessoas tem que vender o seu peixe).
O que quero dizer ? Estou usando/testando o Firebird desde a versão 1.0 rc 1 ou 2 e não me arrependo. É rápido em comparação com alguns bancos (testei aqui no serviço interbase, postgre e oracle... a princípio, o firebird ficou na frente deles) e, até prova em contrário, achei muito estável.
Uso a biblioteca zeos 5.4.1 para acesso aos bancos. A versão 6.0 promete compatibilidade com o Firebird 1.5 e, o que é melhor, o zeos é open source/freeware.
Gosto de Delphi e gostei muito do Firebird. Se é ou não é o futuro ? Bom, quem pode responder isso ? Acho que uma parcela da resposta está nas nossas mãos. Em parte, fazemos parte do futuro. Antes, nos sites de hospedagem, era apenas mysql/access/sql server. Agora, já contamos com firebird e postgre. Há reportagens sobre firebird em diversos locais e, com o passar dos dias, esse banco está cada vez mais famoso.
Acredito que a parceria Delphi/Firebird possui um grande futuro pela frente. Só espero que os responsáveis pelo Firebird não sejam corrompidos pela ganância desenfreada e continuem com o projeto open source e freeware. Acredito que todos, principalmente os programadores, têm a ganhar com isso.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)