ACC2000: Microsoft Jet não passar WHERE cláusula à origem de dados ODBC

Traduções de Artigos Traduções de Artigos
Artigo: 282604 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Avançado: Requer conhecimentos avançados sobre codificação, interoperabilidade e multi-utilizador.

Este artigo aplica-se apenas a uma base de dados do Microsoft Access (.mdb).

Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando utiliza o Access 2000 Service Release 1 (SR-1) com o Microsoft Jet 4.0 Service Pack 5 (SP5) para consulta tabelas ligadas de duas bases de dados separados no mesmo servidor, poderá verificar que Jet não passa os parâmetros da cláusula WHERE para a origem de dados ODBC quando ambos os seguintes procedimentos que se seguem:
  • A consulta cria uma associação entre duas tabelas.
  • A consulta contém uma cláusula WHERE que utiliza a ou e os operadores AND .
É possível que desempenho das consultas é extremamente lento quando efectua uma consulta grandes conjuntos de dados nestas condições. Guardar a palavra-passe quando ligar as tabelas pode ou não poderá afectar o desempenho. Isto só afecta 4.0.4431.x de versão de Msjet40.dll

Causa

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

Resolução

Para resolver este problema, instale o Jet 4.0 service pack mais recente. Para obter informações adicionais sobre como obter e instalar o Jet 4.0 service pack mais recente, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
239114Como: Obter o Service Pack mais recente para o motor de base de dados Microsoft Jet 4.0

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo. Este problema foi primeiro corrigido no Jet 4.0 Service Pack 6 (SP6).

Mais Informação

Passos para reproduzir o comportamento

  1. Num computador com o Microsoft SQL Server 7.0, utilize o Enterprise Manager para criar uma nova base de dados denominada pubs2.
  2. Abra o Enterprise Manager.
  3. Expanda o grupo de servidores para o servidor local.
  4. Clique com o botão direito do rato em bases de dados e, em seguida, seleccione a opção para criar uma nova base de dados (aceitar todas as predefinições).
  5. Alterar o novo nome de base de dados para pubs2 e feche a caixa de diálogo.
  6. Copie a tabela de autores de pubs para pubs2, utilizando o Enterprise Manager ou executando a seguinte instrução SELECT no analisador de consultas:
    SELECT * INTO pubs2Os autores FROM pubsautores
  7. Crie uma nova base de dados no Access denominada Test.mdb .
  8. Crie um novo sistema DSN TestPubs ao servidor de SQL 7.0. Altere a base de dados predefinido para pubs e fornecer um ID de utilizador válido e palavra-passe.
  9. Crie um novo sistema DSN TestPubs2 ao servidor de SQL 7.0. Altere a base de dados predefinido para pubs2 e fornecer um ID de utilizador válido e palavra-passe.
  10. Ligar pubs.titleauthor Test.mdb utilizando "TestPubs." Não guarde a palavra-passe.
  11. Ligar pubs2.authors Test.mdb utilizando "TestPubs2." Não guarde a palavra-passe.
  12. Crie a seguinte nova consulta na vista de estrutura no 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 = "Campainha" AND dbo_titleauthor.title_id = "PS2106") ou dbo_authors.au_lname = "Branco"
  13. Guarde a consulta como qSel2Authors .
  14. Saia do Access.
  15. Iniciar rastreio através da ferramenta origens de dados ODBC no painel de controlo.
  16. Abra Test.mdb e, em seguida, executar qSel2Authors.
  17. Saia do Access.
  18. Pare rastreio na ferramenta origens de dados ODBC no painel de controlo.
  19. Abra o registo de rastreio no Microsoft Word 2000.
  20. Procurar id_au no registo de rastreio.

    Tome nota da instrução SELECT enviada e os registos devolvidos.
  21. Procurar id_título no registo de rastreio.

    Tome nota da instrução SELECT enviada e os registos devolvidos.

Propriedades

Artigo: 282604 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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