最近在vc6.0使用ODBC读取数据库时,使用TRY...CATCH_ALL捕捉到的异常为:
常见错误:不能创建文件缓冲区
微软的给出的原因为:
ODBC 游标库生成供自己使用的临时文件。若要确保将临时文件的名称都是唯一的 32 位 ODBC 游标库生成包括一个十六进制数字的临时文件名称。该数将增加每次生成新的文件名。下面是文件名的 genrated 由游标库,用于其临时文件的示例:
CTT1111.TMP
CTT1112.TMP
CTT1113.TMP
嵌入在 $ 文件名中的十六进制数从 FFFF 环绕为 0,会生成该错误:
CTTFFFD.TMP
CTTFFFE.TMP
CTTFFFF.TMP
CTT0.TMP <--此临时文件名将导致该错误
解决方案:
若要避免该错误,创建一个名为 CTT0.TMP 的文件并将其放置在游标库用来生成的临时文件目录中。 当前的工作目录,用 32 位游标库中创建临时文件。游标库将看到该名称与现有文件并跳过它将在下一个文件名 (CTT1.TMP)。
因此要在系统中删除这些.TMP文件
在DOS窗口下执行:del /f /s /q %systemdrive%\*.tmp
删除之后即可成功执行。
清理系统临时文件脚本,主意该文件没经过测试,请谨慎执行
clear_system_tmp_file.rar
阅读(5086) | 评论(0) | 转发(0) |