做了多年的asp.net,习惯于出错时就进行debug,调试器也不让人失望,给的提示还算详细。
可是今天返回了asp时代,服务器上的一个运行的好好的asp程序忽然间运行不起来了,只说
Microsoft JET Database Engine 错误 '80004005'
未指定的错误
起初怀疑是权限问题,于是按照如下步骤修改了一番:
将asp的access数据库所在的文件夹赋上了Everyone的完全修改的权限(终极做法,这个做法想法不安全,可为了调试错误我只得如此),将数据库文件也赋给EveryOne的完全修改的权限,运行,问题依旧。
于是百度一通,找了n条结果,后来找到一资料上说,asp在访问access数据库的时候,会在%windir%/temp/文件夹下建立一个临时文件。于是找开始→运行→%windir%/temp/→回车。结果竟然出现是“无法找到目录”,奇怪奇怪……到%windir%目录下去看看,竟然没有temp这个文件夹……于是自行建立了一个,赋于它相应的权限,再次运行,搞定!
出现这个问题的原因可能是因为装了一个专杀木马的软件把%windir%/temp/文件夹给删除了……而asp解析程序又不明白这个问题该如何用“人类的自然语言”给我提示错误,所以就仅给抛出了一个“未指定的错误”给我。
吼吼,看来,asp.net的debug的机制相当不错。人类在发展,语言在进步。
点个广告: