【发布时间】:2017-08-08 17:50:21
【问题描述】:
如果我在 SSMS 中运行它,我有一个 SQL 视图,它需要 4-5 秒才能运行,没有过滤器。如果我尝试在 Access 2010 中打开链接的“表”,则会超时。
在选项 - 客户端设置中,我将 OLE/DDE 超时设置为 0,将 ODBC 超时设置为 0。我仍然收到 ODBC--调用失败。 [Microsoft][ODBC SQL Server Driver]查询超时已过期 (#0)。单击确定后,我会收到另一条消息 [当前应用程序名称] 无法在数据表视图中打开表格。
我只是不明白为什么我无法在 Access 中打开这个链接表,但底层视图现在只有 88 条记录。列很多,但结果很少,在SSMS中运行只需要几秒钟。为什么会超时并出现Access中的链接表之类的问题?
非常感谢任何帮助。
谢谢!
【问题讨论】:
-
当您在 Access 的设计视图中打开链接表时,它是否显示主键(一个或多个字段旁边的小金键图标)?
-
不,没有主键。真的没有,因为这个sql视图基本上是应用程序中所有表的左连接(或多或少),以提供应用程序中的所有字段和信息,因此它可以作为构建您自己的基础报表。他们从这些字段的列表中选择字段,并从列表框中进行过滤,这些过滤器作为标准提供给相应的字段。本质上,它将始终应用过滤器,但应该能够完全在访问中运行,就像在 sql 中一样。
-
您能否确认 Access 中的
SELECT COUNT(*) AS n FROM dbo_YourViewName返回行数而不会超时?另外,SQL 视图是否会返回超过 255 列? -
感谢您的回复。有 62 列,我无法从 Access 中的视图中获得计数。我可以在 SSMS 中。
-
不幸的是,我加入了 2 个不同的 sql 数据库服务器,其中一个有不同的排序规则。 Access 将只允许在直通中进行并且不起作用,因此我将不得不研究其他方法来使这个完整的视图正常工作。
标签: ms-access timeout odbc linked-server