MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Access Utilizando tabela no PostgreSQL, Conexão ficou muito lenta

    Compartilhe
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3415
    Registrado : 14/08/2013

    [Resolvido]Access Utilizando tabela no PostgreSQL, Conexão ficou muito lenta

    Mensagem  FabioPaes em Sex 25 Ago 2017, 13:18

    Senhores, devido a quantidade de dados, tive que utilizar o PostgreSQL como Back end. Como não tenho muito conhecimento na área, vinculei as tabelas pelo ODBC. Até funciona com tabelas pequenas, apesar da demora perceptível.

    Ocorre que tenho uma tabela Principal com 4milhoes de registros, e mais 3 tabelas relacionadas a essa principal (essas não são problema, pois tem em media 30 registros cada).

    Essas tabelas estão vinculadas pelo ODBC. Utilizo um formulário de pesquisa, onde o usuário irá digitar um valor e irei retornar no formulário continuo os registros que coincidem com o termo pesquisado, que na maioria das vezes será utilizado Like '*TermoPesquisado*'. Acontece que da forma como está, a consulta demora muito... Mas muito mesmo. Para me retornar 65 registros selecionados dentre os 4milhoes, demora em torno de 15min ou mais. Além do mais, os dados aparecem uma linha no formulário continuo, depois outro campo é preenchido... depois outro. Algo inutilizável.

    Estou utilizando formulário vinculado a uma consulta que envolve essas três tabelas. Carrega sem dados para acelerar... O usuário digita o termo pesquisado e no click em um botao eu mudo a Origem dos dados de acordo com o filtro.
    Os dados dessa tabela não será editado, apenas consultado. Devido a quantidade de dados não da pra ter ele no access pois excede o tamanho do Banco. O Servidor Postgre fica na mesma maquina que será utilizada o aplicativo localhost:5433.

    Por não conhecer de ADO não consegui implantar para testes.
    Office 2013.
    PostgreSQL como Banco de dados.
    Tabelas vinculadas por ODBC.
    Necessito Consultar os dados dessa tabela.
    Tabela principal possui 14 campos como data, texto curto e um principal que armazena texto longo(access).


    Existem muitas dicas de conexões para ADO mas não consegui implantar nenhuma.
    Grato pelas dicas.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3415
    Registrado : 14/08/2013

    Re: [Resolvido]Access Utilizando tabela no PostgreSQL, Conexão ficou muito lenta

    Mensagem  FabioPaes em Qua 30 Ago 2017, 13:41

    UP


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6505
    Registrado : 05/11/2009

    Re: [Resolvido]Access Utilizando tabela no PostgreSQL, Conexão ficou muito lenta

    Mensagem  Alexandre Neves em Qua 30 Ago 2017, 18:00

    Boa tarde, Fábio
    Já viu este
    Código:
    http://postgresonline.com/journal/archives/24-Using-MS-Access-with-PostgreSQL.html
    ?
    Abraço,


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3415
    Registrado : 14/08/2013

    Re: [Resolvido]Access Utilizando tabela no PostgreSQL, Conexão ficou muito lenta

    Mensagem  FabioPaes em Qua 30 Ago 2017, 19:59

    Ola meu amigo, grato pela atenção!

    Em minhas busca pela net, eu até cheguei a passar por esse link! Porem, em uma analise rápida eu cheguei a conclusão de que seria p mesmo que eu estou fazendo hj. Tabelas Vinculadas.

    Mas agora lendo com mais calma, vi que vale testar dessa forma!

    Assim que possível irei testar e retorno com o resultado!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3415
    Registrado : 14/08/2013

    Re: [Resolvido]Access Utilizando tabela no PostgreSQL, Conexão ficou muito lenta

    Mensagem  FabioPaes em Sex 01 Set 2017, 20:51

    Hoje fiz os testes sugerido! Porem não mudou em nada a velocidade dos dados!
    Infelizmente, acredito que tenha algo errado ou é realmente incompatível PostgreSQL/Access. O interessante é que conectando Access a SQL Server, a conexão fica excelente, perdendo em pouco com conexão a Banco do Access. Muito estranho.

    Fica a Duvida no ar...


    Porém como o objetivo dessa conexão era apenas para consultas, e estava limitado aos 2GB do Banco Access... Resolvi da seguinte forma:

    Dividi os registros em 3 Banco de dados Access: de 2000 a 2008 Banco1; de 2009 a 2014 Banco2 e de 2015 até hj Banco3. Ficou cada banco com mais ou menos 1,5GB e 1,3 milhões de registros.
    *** Coloquei uma rotina de migração dos novos dados, para que seja atualizado todos os dias com os dados do dia anterior...

    Assim, eu vinculei os tabelas no meu aplicativo;
    No formulário de pesquisa o usuário escolhe em qual período irá realizar a pesquisa.
    No botão de pesquisar eu muda origem dos dados para buscar no seu respectivo Banco de dados/Tabela (Me.RecordSource = stSQL).

    A Velocidade ficou muito boa, apesar da quantidade de dados...
    Único empecilho é que caso o usuário queira buscar nesses 17 anos, ele terá que fazer 3x a mesma pesquisa, porém ficou Funcional!

    Dou como resolvido, mas caso alguém saiba a solução, por favor nos informe!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4534
    Registrado : 15/03/2013

    Re: [Resolvido]Access Utilizando tabela no PostgreSQL, Conexão ficou muito lenta

    Mensagem  ahteixeira em Sex 01 Set 2017, 21:04

    Olá Amigos,
    Fábio, se a ideia é para pesquisa, porque não tem em Sql como pretendia em apenas uma tabela.
    Apenas teria um formulário de pesquisa que só trazia os registos da pesquisa com os dados da pesquisa.
    Resumindo o formulário de pesquisa quando abre não mostra dados, só quando coloca algum "dado" para filtro é que mostra.
    Efetue um teste.

    Abraço
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3415
    Registrado : 14/08/2013

    Re: [Resolvido]Access Utilizando tabela no PostgreSQL, Conexão ficou muito lenta

    Mensagem  FabioPaes em Sex 01 Set 2017, 23:28

    Optei por usar Access pois a velocidade se utilizado dividido e ainda tudo em Access fica muito melhor. E por se tratar de muitos dados... e que continua crescendo...

    Outro Fator é a licença do SQL SERVER.

    Hoje esta dessa forma: ...formulário de pesquisa que só trazia os registos da pesquisa com os dados da pesquisa.
    Resumindo o formulário de pesquisa quando abre não mostra dados, só quando coloca algum "dado" para filtro é que mostra...


    Obs: Dividi em 3 BD porque o Access só aceita Banco de até 2GB. e o quase 5 milhordes de registros ocupam mais de 4GB, mesmo compactados, removendo os campos desnecessários...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3415
    Registrado : 14/08/2013

    Re: [Resolvido]Access Utilizando tabela no PostgreSQL, Conexão ficou muito lenta

    Mensagem  FabioPaes em Sex 01 Set 2017, 23:35

    Também testei buscar os dados direto do servidor que roda Hj Sql Server 2000. Porém como movimenta muitos dados, as vezes ele dá falha na chamada ODBC...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4534
    Registrado : 15/03/2013

    Re: [Resolvido]Access Utilizando tabela no PostgreSQL, Conexão ficou muito lenta

    Mensagem  ahteixeira em Sab 02 Set 2017, 10:05

    Olá Fabio,
    Obrigado pelo retorno, dado o volume de dados então a melhor solução foi dividir.
    Aguardamos se mais algum colega tem outra alternativa.
    Abraço a todos

      Data/hora atual: Ter 21 Nov 2017, 10:13