根治“Microsoft JET Database Engine 错误 80004005”

          本人朋友木鱼独享托管的服务器,系统为windows2003+sp2+IIS6,最近发现网站ASP页面打不开,提示连接数据库出错或 Microsoft JET Database Engine 错误 80004005,仔细检查IIS,也没有问题,于是仔细检查代码:    1、基本信息
   1 、程序代码:
2~6行:
Dim databasePath,conn,connString
databasePath = "kphc.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connString = "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath( databasePath )
conn.Open connString
    错误信息如下:
[url]http://127.0.0.1/conn.asp[/url]
Microsoft JET Database Engine 错误 '80004005'
未指定的错误
/conn.asp,行 6
 
    2、初步测试
    看看连接语句也没什么错误,不过第一反应还是换个写法:
    程序代码:
2~6行:
Dim databasePath,conn,connString
databasePath = "kphc.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connString = "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath( databasePath )
conn.Open connString
    错误如下:
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x474 Thread 0x290 DBC 0x79d024 Jet'.
/conn2.asp,行 6
    3、再分析
    一般遇到这种问题,多数是因为mdb文件所在目录中IUSER_SERVENAME用户没写权限引起的,不过我朋友木鱼的服务器是我亲手配置的,权限设置没有问题。在IIS配置中加入写权限也是错误依旧.
检查C盘的权限,只有administrator和system用户,我突然想到数据库写入需要temp临时文件有写的权限,于是修改Windows/temp的权限,添加IUSR_的读写权限。问题立即解决。
 
另:网上有资料是关于静态网站改动态网站后ASP页面打不开的解决方法,操作如下:
重新把IIS注册一下,命令:aspnet_regiiis -i .注意,为什么要这样呢?因为IIS和.net框架安装是有先后顺序的.[具体操作:在运行了键入cmd,然后转到c盘,在键入cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322,最后键入aspnet_regiis -i
 

你可能感兴趣的:(职场,休闲,ASP打不开)