最近维护一个客户的网站,遇到了Microsoft JET Database Engine 错误 '80004005' 不可识别的数据库格式这样的错误问题
数据库文件是ACCESS 为了防止别人下载所以改成了ASP文件,但是运行程序始终出现这样的错误,于是把这个数据文件改回MDB,但十分不稳定,有时候能打开 有时候却提数据库已损坏,于是网上查资料,看到网上有位朋友也遇到过这样的问题,觉得他说的很有道理,所以把他的文章贴过来供大家参考.
原文章如下:
昨天修改一个网站,数据库回传到服务器后提示:
代码:
Microsoft JET Database Engine 错误 '80004005'
[XXXXXX]
不可识别的数据库格式……
郁闷了一天,换了两三个空间,问题依旧。
查了微软的指南,唯独没有对这个错误提出解决方案,只隐约地说是数据库损坏。
由于数据库是10天前的备份,应该是正常的,所以我始终不怀疑数据库坏了;用Access作了N次转换,还是不能解决。
临起床前,冷静思考了一下:数据库在本地运行是正常的,只有上传后才提示损坏,那么是否跟上传有关呢?
我的数据库文件一般都改为了ASP后缀,会不会系统对ASP格式文件作了手脚。
于是将数据库改回MDB后缀上传,上传后改回ASP格式文件名,一运行——OK!
原来如此!
我测试的几个空间都是Windows 2003 server版本,估计上传ASP文件时,服务器系统对文件进行了病毒检测,甚至追加了什么代码;数据库文件不是文本文件,当然不能随便写东东了,因此文件格式被破坏了!
因此,大家在调试程序时,务必留意这个情况;如果遇到了数据库上传后不能识别的,可以先将数据库以本来的文件格式MDB上传,然后通过FTP软件改名,这样就不会出问题了。