ACC2000: Microsoft Jet no pasar WHERE cláusula a origen de datos ODBC

Seleccione idioma Seleccione idioma
Id. de artículo: 282604 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Avanzado: Requiere codificación experto, interoperabilidad, conocimientos y multiusuario.

Este artículo se aplica únicamente a las bases de datos de Microsoft Access (.mdb).

Expandir todo | Contraer todo

En esta página

Síntomas

Cuando utiliza Access 2000 Service Release 1 (SR-1) con Microsoft Jet 4.0 Service Pack 5 (SP5) para las tablas de consulta vinculadas de dos bases de datos independientes en el mismo servidor, puede encontrar que Jet no pasa los parámetros de cláusula WHERE con el origen de datos ODBC cuando se cumplen ambas de las acciones siguientes:
  • La consulta crea una combinación entre las dos tablas.
  • La consulta contiene una cláusula WHERE que utiliza las o tanto los operadores AND .
Es posible que el rendimiento de las consultas es extremadamente lento cuando consulta grandes conjuntos de datos en estas condiciones. Guardar la contraseña cuando vincula las tablas puede o no puede afectar al rendimiento. Esto sólo afecta a 4.0.4431.x de versión de Msjet40.dll

Causa

Jet no envía la cláusula WHERE para uno o para ambas tablas consultados. Esto hace que el servidor devuelva todas las filas al cliente.

Solución

Para resolver este problema, instale el service pack más reciente de Jet 4.0. Para obtener información adicional acerca de cómo obtener y cómo instalar el service pack más reciente de Jet 4.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
239114Cómo: Obtener el Service Pack más reciente para el motor de base de datos Microsoft Jet 4.0

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo. Este problema se ha corregido primero en Jet 4.0 Service Pack 6 (SP6).

Más información

Pasos para reproducir el comportamiento

  1. En un equipo que ejecuta Microsoft SQL Server 7.0, utilice el Administrador corporativo para crear una nueva base de datos denominada pubs2.
  2. Abra el Administrador corporativo.
  3. Expanda el grupo de servidores para el servidor local.
  4. Haga clic con el botón secundario en bases de datos y, a continuación, seleccione la opción para crear una nueva base de datos (aceptan todos los valores predeterminados).
  5. Cambie el nombre nuevo de la base de datos a pubs2 y, a continuación, cierre el cuadro de diálogo.
  6. Copiar la tabla authors de pubs a pubs2, ya sea mediante el Administrador corporativo o ejecutar la instrucción SELECT siguiente en el Analizador de consultas:
    SELECT * INTO pubs2los autores FROM pubsautores
  7. Crear una nueva base de datos en Access llamada Test.mdb .
  8. Crear un nuevo sistema DSN TestPubs al servidor de SQL 7.0. Cambiar la base de datos predeterminada pubs y proporcione un userid válido y una contraseña.
  9. Crear un nuevo sistema DSN TestPubs2 al servidor de SQL 7.0. Cambiar la base de datos predeterminada pubs2 y proporcione un userid válido y una contraseña.
  10. Vincular pubs.titleauthor Test.mdb mediante "TestPubs." No guarde la contraseña.
  11. Vincular pubs2.authors Test.mdb mediante "TestPubs2." No guarde la contraseña.
  12. Cree la siguiente consulta nueva en la vista Diseño de 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 = "Ringer" AND dbo_titleauthor.title_id = "PS2106") O dbo_authors.au_lname = "Blanco"
  13. Guarde la consulta como qSel2Authors .
  14. Salga de Access.
  15. Iniciar seguimiento de la herramienta orígenes de datos ODBC en el panel de control.
  16. Abra Test.mdb y, a continuación, ejecute qSel2Authors.
  17. Salga de Access.
  18. Detener el seguimiento en la herramienta de orígenes de datos ODBC de panel de control.
  19. Abra el registro de seguimiento en Microsoft Word 2000.
  20. Buscar au_id en el registro de seguimiento.

    Nota la instrucción SELECT enviada y devuelven registros.
  21. Búsqueda de title_id en el registro de seguimiento.

    Nota la instrucción SELECT enviada y devuelven registros.

Propiedades

Id. de artículo: 282604 - Última revisión: lunes, 24 de febrero de 2014 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft Access 2000 Service Pack 1
  • Microsoft Data Access Components 2.6
Palabras clave: 
kbnosurvey kbarchive kbmt kbbug kbfix KB282604 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 282604

Enviar comentarios

 

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