我收到以下错误:
“临时磁盘空间不足。(错误3183)”
“您尝试执行的操作需要的空间比临时磁盘上的空间大。您的临时磁盘位置基于TEMP DOS环境变量,该变量是在系统启动时设置的。”
我使用Access 2007作为前端。该数据库位于SQL Server 2008上。 当我使用一个表单,它的记录源是一个SQL查询,并使用导航控件进入特定记录时,会发生这种情况。该表有大约五十万条记录。 我在XP SP3上使用4GB RAM并且有1 GB可用空间。
答案 0 :(得分:8)
您最有可能在MS Access表上遇到2GB限制。可能在查询期间创建/使用的临时表中。
这可能是由查询中的任何连接引起的,这些连接往往会使数据倍增。并且有一百万行,你所要做的就是将每行2K的数据加倍来达到这个限制。
您可以通过几种方式解决此问题。
您也可以强制查询在SQL Server端运行;我认为默认情况下会发生这种情况,但是可以通过低效查询来阻止(例如,调用在where子句中返回varchar的函数)