这两天要开始做个东西了,才发现我的操作系统竟然出问题了,IIS无法连接上数据库老是提示出来这样的提示:
Microsoft OLE DB Provider for ODBC
Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access
Driver]常见错误 不能打开注册表关键字 'Temporary
(volatile) Jet DSN for process 0xc74 Thread 0x540 DBC 0x16c1bd4
Jet'。
这个问题一直困扰了我两天,于是就上网查了查原因,微软给的原因是:
“用于访问页面的帐户无法访问
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC
注册表项。”详见微软的帮助和支持页面:“http://support.microsoft.com/kb/295297/zh-cn”。在使用微软的解决方案之后,问题依旧没有解决。所依旧继续上网查明原因。后来才知道另外的一个解决办法,原来是系统的临时文件的访问权限不够,上网查的时候竟然发现许多人都碰到这个问题。
这个问题的原因是当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录没有正确的权限.(这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说)检查文件和目录的权限.
确定你能够在该目录中有能够新建和删除临时文件的权限。这些临时文件其实是数据库建立在同一个目录下的文件,
但是要注意的是,有可能这些文件也可能建立在别的目录,例如
C:\Windows\temp.
这时候只需要对Temp文件夹添加上User账户或者Everyone账户