Asp classic FoxPro ODBC驱动程序错误“;无法创建临时工作文件“;
我有一个用ASP Classic编写的应用程序,它连接到一个FoxPro数据库,该数据库间歇性地抛出此错误消息,该错误消息可在IIS日志文件中找到: 14 | 80004005 |[Microsoft][ODBC Visual FoxPro驱动程序]无法创建临时工作文件 引用的行是针对FoxPro数据库的SELECT语句。并非每次运行此特定SELECT语句时都会发生此错误 有关此错误的有用信息表明,问题可能是由于权限或磁盘空间造成的。权限至少是半功能性的,因为问题并不总是发生。磁盘空间也不是问题,因为驱动器上有足够的可用空间(8GB),与相关数据库的大小成正比(约500MB)Asp classic FoxPro ODBC驱动程序错误“;无法创建临时工作文件“;,asp-classic,odbc,visual-foxpro,Asp Classic,Odbc,Visual Foxpro,我有一个用ASP Classic编写的应用程序,它连接到一个FoxPro数据库,该数据库间歇性地抛出此错误消息,该错误消息可在IIS日志文件中找到: 14 | 80004005 |[Microsoft][ODBC Visual FoxPro驱动程序]无法创建临时工作文件 引用的行是针对FoxPro数据库的SELECT语句。并非每次运行此特定SELECT语句时都会发生此错误 有关此错误的有用信息表明,问题可能是由于权限或磁盘空间造成的。权限至少是半功能性的,因为问题并不总是发生。磁盘空间也不是问题
我还可以寻找什么?FoxPro ODBC驱动程序是否正在自我清理 查看TEMP文件夹(在我的例子中,由
%TEMP%
环境变量定义),您可能会看到大量与表达式[a-Z0-9]{8}\.TMP
匹配的文件(例如LVAK00AQ.TMP
)
根据这本古书:
Visual FoxPro和VFP ODBC驱动程序都使用相同的名称
创建临时(.tmp)文件的约定和算法。如果两者都有
程序同时运行,进程中存在冲突
试图访问相同的文件或相同的文件名。这场冲突
创建不同的错误消息
Visual FoxPro 5.0x使用基于系统的临时文件命名方案
时钟。这些名称是为内部使用而生成的,很多时候
文件名从未在磁盘上实际创建。然而,有
在很多情况下,当FoxPro在磁盘上创建临时文件时,
因此,名称生成方案可能会导致两个或两个进程
运行时实例在同一进程中生成相同的
临时文件名。如果两个进程都尝试创建临时文件
在以后的磁盘上,只有第一个成功
根据我的经验,文件命名模式基于一个小的时间单位,字母数字模式限制为8个字符,它将在短时间内(不确定是小时还是天)从0重新开始
如果需要将临时文件写入磁盘,并且该文件在上次执行时已存在,则驱动程序将抛出错误“无法创建临时工作文件”。是否已向IUSR_machinename和IWAM_machinename授予文件夹和文件夹内容更改权限