在ASP项目中,当出现“注册表错误,无法写入”错误的时候,本人遇到的错误原因有两个,在这里跟大家共同探讨下。
第一个是,电脑的文件系统式NTFS格式的,这样的话数据库没有权限。
解决方法:在数据库所在文件夹上(或比它高的任意等级目录都可以)右击,属性,会弹出一对话框,如下图所示:
点击安全,如图:
查看你的“组或用户名称”中是否有Internet来宾账户,如果没有则点击添加,弹出“选择用户或组”对话框,如图:
点击“高级”选择要添加的组或用户,如图:
然后单击“立即查找”,对话框下方的空白处会列出组或用户的名称和所在的文件夹位置,如图:
在列出的组或用户中选择“IUSR_YKZ_...”用户,然后确定回去。当到安全对话框的时候你会看到,“组或用户名称”一栏中有了Internet来宾账户,选中它,在下面的Administration的权限中给读写权限,或是给更大的权限。
如果原本已经有了来宾账户的话,就试一下第二种解决方法:
在C:/windows下找到temp文件夹,右击属性,安全下“组或用户名称”框中找Eevryone,给它写入权限。
如果你的链接数据库的驱动是driver,这时候是不能用的,用provider驱动
set db=server.CreateObject("adodb.connection")
'dbs="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/database/eat.mdb")
dbs = "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("/database/eat.mdb")
db.open dbs