ACC2000: Microsoft Jet 做未通过 WHERE 子句到 ODBC 数据源

文章翻译 文章翻译
文章编号: 282604 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
高级: 需要专家编码、 互操作性,和多用户技能。

本文只适用于 Microsoft Access 数据库 (.mdb)。

展开全部 | 关闭全部

本文内容

症状

当您使用 Access 2000 服务版本 1 (sr-1),使用 Microsoft Jet 4.0 Service Pack 5 (SP5) 链接在同一台服务器上的两个单独的数据库中的查询表时,您可能会发现 Jet 未通过 WHERE 子句参数与 ODBC 数据源在以下两个都为真时:
  • 该查询创建两个表之间的联接。
  • 该查询包含一个 WHERE 子句,同时使用了 ORAND 运算符。
您可能会发现当查询大型在这些情况下的数据集查询性能也是非常慢。保存密码,当链接表时可能也可能不会影响性能。只会影响 Msjet40.dll 版本 4.0.4431.x

原因

一个或两个查询的表,jet 不会发送 WHERE 子句。这会导致服务器返回到客户端的所有行。

解决方案

若要解决此问题,安装最新的 Jet 4.0 服务包。有关如何获取和如何安装最新的 Jet 4.0 service pack 的其他信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
239114如何: 获取最新的 Service Pack,对于 Microsoft Jet 4.0 数据库引擎

状态

Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中的问题。Jet 4.0 服务包 6 (SP6) 中的第一次解决此问题。

更多信息

重现行为的步骤

  1. 在运行 Microsoft SQL Server 7.0 的计算机,使用企业管理器创建新的数据库称为 pubs2。
  2. 打开企业管理器。
  3. 展开服务器组在本地服务器。
  4. 用鼠标右键单击 数据库,然后选择该选项,以创建新的数据库 (接受所有默认值)。
  5. 将新的数据库名称更改为 pubs2,然后关闭该对话框。
  6. 作者表复制从 pubs pubs2,通过使用企业管理器或通过在查询分析器中执行下面的 SELECT 语句:
    SELECT * INTO pubs2作者 FROM pubs作者
  7. 在调用 Test.mdb 的 Access 中创建一个新的数据库。
  8. 创建一个新的系统 DSN TestPubs SQL 7.0 服务器。将默认的数据库更改为 pubs 并提供一个有效的用户 id 和密码。
  9. 创建一个新的系统 DSN TestPubs2 SQL 7.0 服务器。将默认的数据库更改为 pubs2 并提供一个有效的用户 id 和密码。
  10. 链接到 Test.mdb pubs.titleauthor,通过使用"TestPubs。 不保存密码。
  11. 链接到 Test.mdb pubs2.authors,通过使用"TestPubs2。 不保存密码。
  12. 在设计视图中 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 ="铃声"AND dbo_titleauthor.title_id ="PS2106") 或 dbo_authors.au_lname ="白色"
  13. 将查询另存为 qSel2Authors
  14. 退出 Access。
  15. 从控制面板中的 ODBC 数据源工具启动跟踪。
  16. 打开 Test.mdb,然后执行 qSel2Authors。
  17. 退出 Access。
  18. 停止跟踪在控制面板中的 ODBC 数据源工具中。
  19. Microsoft Word 2000 中打开跟踪日志。
  20. 搜索 au_id 在跟踪日志中。

    请注意发送的 SELECT 语句和返回记录。
  21. 搜索在跟踪日志中的 title_id。

    请注意发送的 SELECT 语句和返回记录。

属性

文章编号: 282604 - 最后修改: 2014年2月24日 - 修订: 3.1
这篇文章中的信息适用于:
  • Microsoft Access 2000 Service Pack 1
  • Microsoft Data Access Components 2.6
关键字:?
kbnosurvey kbarchive kbmt kbbug kbfix KB282604 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 282604
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

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