MS Access Query 根据本地数据还是网络数据返回不同的结果

Posted

技术标签:

【中文标题】MS Access Query 根据本地数据还是网络数据返回不同的结果【英文标题】:MS Access Query returns different results depending on whether data local or on network 【发布时间】:2013-11-02 18:49:38 【问题描述】:

在使用拆分数据库(其中表数据存储在网络驱动器上)时,Access 表现不佳之前遇到过问题。我在一家非常大的科技公司工作,所以我希望所有的 IT 工作都做对了。

我正在使用 Access 2010,并运行 Windows 7 企业版服务包 1。

这是今天的问题:

如果我编写一个非常简单的查询,询问合同 ID、合同标题、合同编号等......一切正常。我什至可以添加摘要,它是备忘录类型的,可能是 1000 个字符左右。

然后事情变得多毛。根据我在查询中要求的其他内容,摘要要么起作用,要么变成一个汉字。其他一些备注字段也会发生同样的情况,其中一些字段少于 100 个字符。

如果我将数据库的后端部分复制到本地驱动器,重新链接表并运行完全相同的查询,它每次都能像冠军一样工作。

这似乎是数据超时问题或类似问题。有人对此有任何经验或知道如何解决吗?这不是 Web 访问。顺便说一句,之前的问题是一个非常大的表更新查询 - 需要使后端本地化才能工作。

我应该放弃并改用 SQL Server 吗?是否有已知的解决方法?

谢谢,

弹珠

【问题讨论】:

我实际上已经看到了这个问题,但我从来没有弄清楚是什么原因造成的。尝试包括相同的字段,但一次只检索一两行,看看会发生什么。我认为这可能是由于其中一个字段(即您的 Abstract 字段)中有 utf-8 字符引起的,但我不确定。 现在试试。发现通过简单地添加总计行,我可以打开和关闭这个错误。本地驱动器 - 有效 网络驱动器 - 无总计 - 有时有效 网络驱动器 - 总计(仅使用分组,实际上不总计任何内容) - 中文字符。 【参考方案1】:

这是一个 Access - Jet 错误。

http://allenbrowne.com/bug-18.html

使用总计时,您不能可靠地在备注字段上使用分组依据。不知道为什么它有时在本地工作而从不通过网络工作,也许是时间问题。

解决方案是将备注字段设置为“第一”。

克里斯

【讨论】:

以上是关于MS Access Query 根据本地数据还是网络数据返回不同的结果的主要内容,如果未能解决你的问题,请参考以下文章

使用 pass through query 从 ms access 访问 oracle 数据库表

使用 MS Access Union Query 合并 3 个表/查询

如何通过 Python 3.5.1 创建永久 MS Access Query?

MS Access Query 以检索订单日期列中最新日期的记录

MS Access Query 计算季度增长率的 SQL 语句

MS Access Query-By-Form 问题