除了微软列出的那些here .
10 DBEngine.CompactDatabase Dbpath, DbTempPath, "", dbEncrypt
20 Kill Dbpath
30 Name DbTempPath As DbPath
上面的代码在许多安装中日复一日地运行,但很少有第 30 行出现故障,我接到一个电话,说数据库丢失了。
今天我第一次看到它发生在自己身上,并抛出了错误:
路径/文件访问错误(错误 75)
但是,我认为列出的任何原因都不适用于这种情况。
今天在安装时发生这种情况,我重命名了临时文件并再次运行代码,但错误再次发生。
(我认为这可能与硬件问题有关,因为制作文件副本需要很长时间。)
最佳答案
这里没有足够的信息要说,但我的猜测是问题出在您的 KILL
上。 NAME
之前没有整理好声明语句运行。我一直不清楚,但似乎 Windows NT 文件系统可以选择异步实现一些文件操作(尤其是对于大文件),因此 KILL
NTFS 可能无法完成,即使 VB6 认为它是并已移至 NAME
陈述。
最好的办法可能是在 KILL
之后做一些检查。在使用 NAME
开始重命名之前,确保文件实际上已经消失。 .
关于vb6 - VB6 可捕获错误路径/文件访问错误(错误 75)的其他原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13802673/