大家好!请教一个ASP问题,不能打开注册表关键字!

来源:百度知道 编辑:UC知道 时间:2024/05/19 09:27:18
以下是所出现的错误提示:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0xdd0 Thread 0xeec DBC 0x10b8014 Jet'。
请问怎样解决?

你把连接数据库的关键字替换成下面的:
<%
dim connstr
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\database.mdb")
set conn=Server.CreateObject("adodb.Connection")
conn.open connstr
%>

当您的脚本试图执行更新或执行会更改数据库中的信息的其他某种操作时,通常会遇到此错误。出现此错误的原因是 ADO 由于以下某种原因而无法写入数据库:

1. 最常见的原因是 Internet 来宾帐户(IUSR_MACHINE,默认情况下该帐户属于“Everyone”组)对数据库文件 (.mdb) 没有写权限。要解决此问题,请使用 Explorer 中的“安全”选项卡来调整此文件的属性,以便 Internet 来宾帐户具有正确的权限。

注意:在将 Microsoft Access 数据库与 ADO 一起使用时,还必须授予 Internet 来宾帐户对包含 .mdb 文件的目录的写权限。这是因为 Jet 会创建一个用于处理数据库锁定的 .ldb 文件。由于 Jet 可能会在“Temp”目录中创建临时文件,因此您可能还需要授予对该文件夹的读/写权限。
2. 出现此错误的第二个原因是数据库不是使用具有写权限的正确模式打开的。如果您对 Connection 对象执行 Open 操作,则应使用 Mode 属性指示对该连接所拥有的权限,如下所示:
SQL = "UPDATE Products Set UnitPrice = 2;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3 '3 = adModeReadWrite
Conn.Open "myD