IBO x 3 camadas alguém sabe como ?

Firebird

06/01/2004

Pessoal eu estou montando uma aplicação e estou tentando usar o melhor dos dois mundo.

Uso o firebird, daí optar pelo ibo. Estou usando o iboquery para acessar os dados. Segue o modelo

Iboquery - > datasetProvider -> ClientDataset

Tudo roda legal, mas quando eu mando gravar a atualização de um registro ele me retorna que o registro não existe ou está sendo usado por outro usuário. Ou seja ele perde o registro.

Testei com o dbx, sqlquery e ele nào deu erro.

algúem pode me ajudar ?

Também li a respeito de usar storage procedures para fazer atualizações sem usar os dbedits. Se alguém tiver algum material e poder me mandar eu agradeço


Farway

Farway

Curtidas 0

Respostas

Afarias

Afarias

06/01/2004

|Tudo roda legal, mas quando eu mando gravar a atualização de um
|registro ele me retorna que o registro não existe ou está sendo usado
|por outro usuário. Ou seja ele perde o registro.

Vc definiu bem (e como?) a propriedade UpdateMode do Provider e as propriedades ProviderFlags dos TFields (no IBOQuery) ??

Vc está usando ResolveToDataSet = False no Provider?


T+


GOSTEI 0
Farway

Farway

06/01/2004

Vc definiu bem (e como?) a propriedade UpdateMode do Provider e as propriedades ProviderFlags dos TFields (no IBOQuery) ??

upWhereKeyonly no provider e pfinkey no campo chave.

Vc está usando ResolveToDataSet = False no Provider?
Sim.

como eu disse comibx funciona legal mas com ibo.....

afinal qual o componente de acesso mais indicado para usar com firebird e 3 camadas ?


GOSTEI 0
Afarias

Afarias

06/01/2004

|afinal qual o componente de acesso mais indicado para usar com firebird
|e 3 camadas ?

A princípio, qualquer componente derivado de TDataSet deveria funcionar bem com MIDAS -- é estranho o seu caso!

Vc já verificou se está usando tudo corretamente?? Quando testou a mesma coisa com outros componentes foi dentro dos mesmo ´ambiente´?

Bom, não uso IBO então não acredito q possa lhe ser útil, mas sugiro q consulte a página do IBO ou obtenha ajuda na lista de discussão do grupo -- deve ser alguma pequena configuração ou mesmo ´bug´ desta versão q vc está usando (procure por atualizações).

Em outra instância, se desejar, pode dar uma olhada no FIB Plus (claro, se vc ainda não comprou as licenças do IBO) -- eles tem um projeto muito parecido com o IBX (mesma base) e tem suporte ao Firebird.


T+


GOSTEI 0
Farway

Farway

06/01/2004

Vc nào usa ibo,

que componentes vc usa, para manter a compatibilidade com Firebird ?


GOSTEI 0
Afarias

Afarias

06/01/2004

|que componentes vc usa, para manter a compatibilidade com Firebird ?

Uso IBX -- mas, a maior parte dos sistemas em produção com q trabalho estão em IB 6.0 ou FB 1.0

Para alguns sistemas internos/betas utilizo o FB 1.5 também com IBX (apenas testes) -- é bem provável q no futuro, nos casos em q for utilizado o FB 1.5 (ou superior) em produção, a opção seja por outro conjunto de componentes q não o IBX (mas q mantenha suporte ao IB 7.1 ou superior preferencialmente)



T+


GOSTEI 0
Farway

Farway

06/01/2004

Farias me diz uma coisa.

3 camadas realmente faz diferença me dá um conselho.

Estou desenvolvendo um sistema de sociadade de autores cuja algumas tabelas chegam mais ou menos a 10.000 registros cada.

tenho que usar o firebird.

Aí vai a questão.


Uso o IBO nativo como cliente servidor o que sem dúvida me dará mais performance

ou

uso o dbx com tres camadas perdendo assim um pouco de velocidade e correndo o risco de imcompatibilidade no futuro.

3 camadas é realmente o futuro ?


GOSTEI 0
Afarias

Afarias

06/01/2004

|3 camadas realmente faz diferença me dá um conselho.

Questão difícil... cada caso é um caso... 3-camadas pode fazer muita diferença, mas depende do projeto.

Utilizamos 3-camadas em alguns projetos e em outros não -- existem projetos q se beneficiam muito de 3-camadas (redução do tráfego de rede, portabilidade para bancos de dados diferentes, mobilidade e trabalhos off-line, etc...) -- mas outros, realmente não vale o ´investimento´ - e simplesmente trabalham muito bem C/S.


|Estou desenvolvendo um sistema de sociadade de autores cuja algumas
|tabelas chegam mais ou menos a 10.000 registros cada.

A quantidade de registros não indica a necessidade ou não do uso de 3-camadas -- se vc usar (bem) as práticas C/S vai ter um sistema muito bom mesmo sem 3-camadas.


|uso o dbx com tres camadas perdendo assim um pouco de velocidade e
|correndo o risco de imcompatibilidade no futuro.

Eu (particularmente) uso 3-camadas com IBX e não com DBX (até pq trabalho no D5) -- acredito q vc poderia fazer o mesmo com IBO (sendo q não tenho experiência com IBO)

Com relação ao q vc falou sobre ´incompatibilidade´ não entendi... a respeito de que??


|3 camadas é realmente o futuro?

:) na verdade é presente...

Mas como disse, cada caso é diferente... fique atento q não existe fórmula -- o lance é o desenvolvimento -- qual banco, qual arquitetura, qual ambiente, etc... não tem um ´melhor´ ou ´é esse´ -- depende do seu projeto, orçamento, pessoas e capacitação, tempo, estrutura do cliente, etc...

Se vc optar por C/S (2 camadas) poderá fazer um ótimo trabalho -- se optar por 3-camadas, terá um pouco mais de ´trabalho/atenção´ mas poderá desfrutar de algumas ´vantágens´ adicionais (se realmente forem necessárias)

Independente da técnica q escolher -- o importante é procurar conhecer ao máximo a abordágem e práticas relacionadas para obter o melhor desenpenho no desenvolvimento e na qualidade de sua aplicação


T+


GOSTEI 0
Farway

Farway

06/01/2004

Imcompatibilidade entre o IBX e o Firebird.


GOSTEI 0
Afarias

Afarias

06/01/2004

|Imcompatibilidade entre o IBX e o Firebird.

??? hum ???


T+


GOSTEI 0
POSTAR