日期:2014-08-08  浏览次数:24719 次

最近维护一个客户的网站,遇到了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软件改名,这样就不会出问题了。