Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido)Firebird lento na rede...


Douglas Soares

Pergunta

Boa tarde Script Brasil, tenho varios sistemas que usam firebird, esse sistema por ser usado local e na rede, no cadastro de membros por exemplo, demora muito para carregar todos os registros quando se está na estação. Gostaria de saber se tem alguma forma de agilizar o banco firebird na rede!

Abraços

Editado por Douglas_Soares
Link para o comentário
Compartilhar em outros sites

25 respostass a esta questão

Posts Recomendados

  • 0
tenho varios sistemas que usam firebird, esse sistema por ser usado local e na rede, no cadastro de membros por exemplo, demora muito para carregar todos os registros quando se está na estação. Gostaria de saber se tem alguma forma de agilizar o banco firebird na rede!

Oi Douglas .... a que tipo de rede voce se refere ( interna ou internet ? )

Link para o comentário
Compartilhar em outros sites

  • 0
demora muito para carregar todos os registros quando se está na estação.

Não se voce estiver usando IBQuery e estiver limitando o numero de registros a serem mostrados no dbgrid.

tenho uma tabela com mais de 100.000 registros e leva menos 2 segundos para me trazer os registros selecionados

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

nossa, tem tantas query's nesse programa :wacko: , vai demorar muito pra migrar, tudo.

Mas como você já disse em posts anteriores... melhor perder tempo agora do que ter dores de cabeças futuras :rolleyes: , eheheh.

Se eu mudar para IBQuery, tem as mesmas opções de SQLQuery?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Eu sempre uso o seguinte conjunto: SQLQuery, ClientDataSet, DataSetProvider, e DataSource, eu não sei como usar IBQuery, e nem se terei que mudar esses outros componentes! me da uma dica!
voce so trocara um componente

IBQuery, ClientDataSet, DataSetProvider, e DataSource

da mesma forma que o outro voce usará instruções SQL neste componente ( IBQuery ) , mas independente disso é necessario saber qual é a lógica que voce esta usando para fazer o trafego de dados pela rede

quando voce diz:

demora muito para carregar todos os registros quando se está na estação

qual é a quantidade de registros que voce traz e qual é a necessidade de trazer todos os registros ?

de qualquer modo veja estas dicas de como melhorar o desempenho do firebird / Interbase em rede

http://www.htmlstaff.org/ver.php?id=24387

http://www.comunidade-firebird.org/cflp/do...s/CFLP_T026.PDF

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

são 900 Registros, esse é um sistema de controle de clientes, precisamos vizualizar todos sim, eu testei o IBQuery, tive que adicionar um IBDataBase e um IBTransaction, ele abre normalmente e pesquisa, porem quando clico no botão para trazer todos os registros, ele está demoran de 10 a 15 segundos... :angry: , o que fazer?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
são 900 Registros, esse é um sistema de controle de clientes, precisamos vizualizar todos sim, eu testei o IBQuery, tive que adicionar um IBDataBase e um IBTransaction, ele abre normalmente e pesquisa, porem quando clico no botão para trazer todos os registros, ele está demoran de 10 a 15 segundos... , o que fazer?

900 registros pra mim são quase que instantâneos ... uso IBDataBase, IBTransaction, IBQuery, ClientDataSet, DataSetProvider, e DataSource e não tenho nenhum problema de lentidão para trazer os registros

reveja a lógica usada no seu programa

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz um form novo, coloquei um DBGrid coloquei os componentes que você me disse, importei os fields, configurei, e criei um botão para abrir o clientdataset, porem está a mesma demora!, será que não é porque eu tenho muitosssss fields não?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Tenho um form com 30 campos e está rapido ( acesso local 1 segundo .. acesso pela rede 2 segundos )

estou usando placas de rede 10/100 motorola V90 e um hubb Encore de 8 portas sem problemas

a rede tem 8 micros usando XP e usando banco de dados Interbase

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
gostaria de saber se tem como usar IBQuery em um IBTable.

Tem sim ... substitua o IBTable pelo IBQuery

Use os componentes

IBQuery, DataSetProvider, ClientDataSet e DataSource

Na SQL do IBQuery coloque

Select * from SuaTabela

Depois de uma active true no IBQuery e no ClientDataSet

Use um DBGrid linkado no DataSource e veja quanto tempo demora para mostrar os registros ( deverá ser rapido)

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
humm... se eu deixo esses 2 componentes, com active = true, ele tras na hora mesmo, porem se eu preciso dar um close, e depois um open no cds, dai começa a demora pra trazer dinovo , o que eu tenho que fazer agora?

O tempo que levou para mostrar os registros no DBGrid quando voce deu active = true, é o mesmo tempo que levará para mostrar os registros quando o programa estiver em execução .... não tem diferença

não precisa dar close e depois open ... somente active = false e active = true

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

mas jhonas, eu tenho varios edits, e quando dou enter em um deles ele faz uma pesquisa no banco, e eu tenho um botão Exibir Tudo, nesse botão que está o problema!, como eu vou dar active = True, se toda vez que eu faço pesquisas eu dou close e open no dataset.... outra coisa, não tá adiantando eu dar active = true na query e no CDS, porque ele está demorando agora é para abrir o programa..... não sei porque está tão lento.... só com IBTable que tive sucesso para mostrar todos os registros rapidamente :(

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
estou perdido!, agora que troquei todos os componentes SQLQuery por IBQuery, começou a dar um erro de SQL para salvar ou inserir dados: SQL Parse Error: Parameter name expected.
SQL Parse Error: Parameter name expected

Nome de parametro esperado. Se voce está passando valores por parametro então na sql deve ter os parametros definidos

outra coisa, não tá adiantando eu dar active = true na query e no CDS, porque ele está demorando agora é para abrir o programa..... não sei porque está tão lento....

Pode ser lógica errada, virus, muitos processos abertos, etc... fica dificil dizer o porque.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Desisti dessa bagaça por enquanto, vou usar só o IBTable para trazer todos os registros rapidamente, e de resto vou deixar com SQLQuery....

Muito Obrigado pela sua ajuda e por gastar seu tempo cmg :wacko: ... precisando estou aqui!

Abraços :rolleyes:

Editado por Douglas_Soares
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...