Pergunta

Microsoft Access é uma maneira lisa para acessar dados em um banco de dados back-end MS SQL Server, mas eu sempre tive problemas para acessar (por assim dizer) grandes tabelas de dados, especialmente quando se tenta alternar entre os resultados e modo de design no Access .

Acesso dá-me uma série de coisas interessantes, não menos do que é Crosstabs, mas esta ligação hung para as unidades de servidor-me um pouco! Louca

Será que qualquer gurus do MS Access sabe como otimizar a conexão ODBC para que ele não está fazendo o que parece ser varreduras de tabela cheia quando eu só quero ajustar e construir minhas consultas?

Foi útil?

Solução

O driver ODBC vai passar o máximo de trabalho possível para SQL Server, mas assim que você usar uma função vba como Nz ou sintaxe não-SQL Server como PIVOT, em seguida, o driver ODBC deve puxar para trás mais dados e índices para começar o trabalho feito no lado do cliente.

De acordo com outra resposta, quer construir seus pontos de vista em SQL Server e link para a posição nem uso o mais um projeto de acesso a dados.

NB: consultas PIVÔ com número desconhecido de colunas não podem ser tratados de SQL Server da mesma forma que o Access vai fazer isso de forma nativa - por isso, se você executar um pivô no Access com os dados do SQL Server que você provavelmente vai puxar toda a tabela de volta. consultas de articulação deve ser construído em SQL Server usando técnicas de SQL dinâmicas ou então vistas pré-salvos que têm todas as colunas codificado. Confira neste link para uma maneira de fazer isso:

http://www.sqlservercentral.com/articles/Advanced+ Consultando / pivottableformicrosoftsqlserver / 2434 /

Outras dicas

Como já foi dito, a única maneira de melhorar o desempenho em tabelas grandes é ter o motor de banco de dados SQL Server fazer o trabalho para você. Um método de fazer isso que não foi mencionado é usar um pass-through consulta, que irá permitir que você mantenha todo o seu código em MS Access, sem ter que criar objetos no SQL Server:

http://support.microsoft.com/kb/303968

Você terá que escrever SQL Server T-SQL em vez do dialeto Access; No entanto, SQL 2005 (quando executado em modo de compatibilidade 90) suporta um comando PIVOT.

Meu problema semelhante foi que a conexão ODBC ORACLE pendurado depois de selecionar a conexão tabela de ligação / ODBC. task manager disse não responder depois de 10 dos minutos. A conexão então pings ORACLE para todas as tabelas disponíveis. Eu tinha ativado o log on ODBC Administrador do ORACLE, por isso tive que escrever todas essas coisas para o registro, retardando qualquer resultado por talvez horas. O registro foi de 60 MB uma hora mais tarde, quando eu desliguei, então tudo estava bem!

Para desligá-lo ir para a instalação do Oracle / Administração de Rede / MS ODBC Administrador / guia rastreamento e desligá-lo!

Um bom recurso em ODBC está aqui: http: //eis.bris. ac.uk/~ccmjs/odbc_section.html

Infelizmente Access não é capaz de empurrar um monte de que o trabalho para o servidor, e sim, ele vai fazer grandes varreduras de tabela ao projetar consultas em várias tabelas ou exibições no SQL Server.

Você pode construir e consultas Tweak (vistas) em SQL Server usando SSMS e armazenar os pontos de vista em SQL Server para um aumento de desempenho enorme e ainda usar o Access para o seu front-end.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top