ACC2000: O Microsoft Jet não passar WHERE Clause à fonte de dados ODBC

Traduções deste artigo Traduções deste artigo
ID do artigo: 282604 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Avançadas: Requer especialista de codificação, interoperabilidade e habilidades de multiusuário.

Este artigo se aplica somente a um banco de dados do Microsoft Access (.mdb).

Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Ao usar o Access 2000 Service Release 1 (SR-1) com o Microsoft Jet 4.0 Service Pack 5 (SP5) para tabelas de consulta vinculadas a partir de dois bancos de dados separados no mesmo servidor, você pode descobrir que Jet não passa os parâmetros de cláusula WHERE para a fonte de dados ODBC quando ambos os procedimentos a seguir forem verdadeiras:
  • A consulta cria uma associação entre duas tabelas.
  • A consulta contém uma cláusula WHERE que usa as ou e os operadores AND .
Você pode achar que o desempenho da consulta é extremamente lento quando você consulta grandes conjuntos de dados sob essas condições. Salvando a senha quando você vincula as tabelas pode ou não pode afetar o desempenho. Isso afeta somente 4.0.4431.x de versão do Msjet40.dll

Causa

Jet não envia a cláusula WHERE para uma ou ambas as tabelas consultadas. Isso faz com que o servidor retornar todas as linhas para o cliente.

Resolução

Para resolver esse problema, instale o Jet 4.0 service pack mais recente. Para obter informações adicionais sobre como obter e como instalar o Jet 4.0 service pack mais recente, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
239114Como: Obter o Service Pack mais recente para o Microsoft Jet 4.0 Database Engine

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo. Esse problema foi corrigido primeiro no Jet 4.0 Service Pack 6 (SP6).

Mais Informações

Passos para reproduzir o problema

  1. Em um computador que está executando o Microsoft SQL Server 7.0, use o Enterprise Manager para criar um novo banco de dados chamado pubs2.
  2. Abra o Enterprise Manager.
  3. Expanda o grupo de servidores para o servidor local.
  4. Clique com o botão direito do mouse em Databases e, em seguida, selecione a opção para criar um novo banco de dados (aceitar todos os padrões).
  5. Altere o novo nome de banco de dados para pubs2 e feche a caixa de diálogo.
  6. Copie a tabela autores de pubs para pubs2, usando o Enterprise Manager ou executando a seguinte instrução SELECT no Query Analyzer:
    SELECT * INTO pubs2Os autores FROM pubsautores
  7. Crie um novo banco de dados no Access chamado Test.mdb .
  8. Crie um novo sistema DSN TestPubs ao servidor SQL 7.0. Alterar o banco de dados padrão para pubs e forneça um userid válido e uma senha.
  9. Crie um novo sistema DSN TestPubs2 ao servidor SQL 7.0. Alterar o banco de dados padrão para pubs2 e forneça um userid válido e uma senha.
  10. Vincular pubs.titleauthor a Test.mdb usando "TestPubs." Não salve a senha.
  11. Vincular pubs2.authors a Test.mdb usando "TestPubs2." Não salve a senha.
  12. Crie a seguinte nova consulta no modo Design do Test.mdb:
    SELECT dbo_authors.au_id dbo_authors.au_lname, dbo_titleauthor.title_id
    FROM dbo_authors INNER JOIN dbo_titleauthor ON dbo_authors.au_id = dbo_titleauthor.au_id
    WHERE (dbo_authors.au_lname = "Toque" e dbo_titleauthor.title_id = "PS2106") ou dbo_authors.au_lname = "Branco"
  13. Salve a consulta como qSel2Authors .
  14. Sai do Access.
  15. Inicie rastreamento a partir da ferramenta de fontes de dados ODBC no painel de controle.
  16. Abra Test.mdb e, em seguida, executar qSel2Authors.
  17. Sai do Access.
  18. Pare rastreamento na ferramenta fontes de dados ODBC no painel de controle.
  19. Abra o log de rastreamento no Microsoft Word 2000.
  20. Procurar au_id no log de rastreamento.

    Observe a instrução SELECT enviada e os registros retornados.
  21. Procurar id_título no log de rastreamento.

    Observe a instrução SELECT enviada e os registros retornados.

Propriedades

ID do artigo: 282604 - Última revisão: segunda-feira, 24 de fevereiro de 2014 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft Access 2000 Service Pack 1
  • Microsoft Data Access Components 2.6
Palavras-chave: 
kbnosurvey kbarchive kbmt kbbug kbfix KB282604 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 282604

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com