纬七路通车:asp留言板问题

来源:百度文库 编辑:高考问答 时间:2024/05/01 08:41:06
技术信息(用于支持人员)

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。
/me/save.asp, 第 20 行

浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

网页:
POST 60 ??? /me/save.asp

POST Data:
username=er&email=er@163.com&content=ser&Submit=%CC%E1%BD%BB

时间:
2005年8月6日, 15:09:17

不知道是怎么回事,有人能够回答吗?
我的系统是XPSP2,数据库我看了没设只读。

你可以试一下以下的方法.
PS:我忘了哪里转来的了.

[转载]:
1。文件夹、文件的 NTFS 权限设置:在文件夹、文件上右击,选“属性”,然后找
“安全”选项卡,你就看到文中所说的那些权限设置的位置。

2。如果你使用的是 Windows XP,则有可能你的“安全”选项卡是隐藏的,在“控制
面板”中找到“文件夹选项”,单击“查看”选项卡,在下面的列表中找到“使用简
单共享(推荐)”这个选项,去掉此项前面的勾,然后重新打开文件夹、文件的“属
性”就可以看到“安全”选项卡了。

3。根据你的代码,你是 ASP,而不是 ASP.NET。
ASP 中执行 Access 操作的帐户是 IUSR_(你的机器名) (“Internet 来宾帐户”)
这个帐户,所以对照文章,所有涉及 ASPNET 帐户的地方 替换为 IUSR_(你的机器
名) 帐户。

4。另外,我还是有些怀疑你的 Access 文件是只读属性的。(你再检查一下,该 Access
文件,右击“属性”,看看最下面那个“只读”复选框有没有被选中?)
=================================================================
1. 我们首先再次总结一下 Access 数据库文件的 NTFS 权限设置的缘起:

在 ASP.NET 中默认是以一个叫做 ASPNET 的虚拟用户的身份来访问、操作数据库
的,你可以在“控制面板”-“管理工具”-“计算机管理”-“本地用户和组”-“用
户”中看到这个用户,默认情况下是:

全名:ASP.NET 计算机帐户
描述为:用于运行 ASP.NET 辅助进程(aspnet_wp.exe)的帐户。
隶属于:Users组。

使用这么一个隶属于 Users 组的用户来进行文件操作、数据库操作的风险是要比
用一个 Administrators 组的用户的风险要小得多,这也是 ASP.NET 在安全方面的
一个考虑吧。

既然是这么一个用户需要访问、操作数据库文件本身,那么我们就需要给它一定
的 NTFS 权限以允许它的访问。显然没有 NTFS 的权限许可,ASPNET 就无法访问、
操作数据库,就会出现上面实验中所看到的那些错误了。

2. 经过上面的实验,我们已经知道如下的 NTFS 权限设置是可以满足一般需求的:

a) D:\wwwroot\test\data\ 文件夹给用户ASPNET以如下权限: 允许 拒绝
完全控制 □ □
修改 □ □
读取及运行 √ □
列出文件夹目录 √ □
读取 √ □
写入 √ □

b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限:
√ 允许将来自父系的可继承权限传播给该对象

同时我们也注意到 db1.mdb 是否为“只读”文件对 ASPNET 的访问也会有一定影响


3. 上述权限设置可以直接设置给 ASPNET 用户自己,也可以设置给 Users 组,或者
直接给 Everyone 组上述权限都是可以的。因为 ASPNET 隶属于 Users 组,可以通
过 用户组 给 ASPNET 设置权限。

4. NTFS 权限在文件或文件夹右击后得到的“属性”对话框-“安全”选项卡中设置
,一般情况下,可以考虑给 Adminitrators 组以“完全控制”的权限,同时不要轻
易在“拒绝”中打勾,有关 NTFS 权限设置的技巧,可以咨询网络管理员、网络安全
专家的建议。

注:FAT, FAT32 格式的分区中不支持 NTFS 权限。

5. Windows 2000 系列,Windows Server 2003 系列的“安全”选项卡默认是很容易
找到的,但 Windows XP Professional 中的“安全”选项卡默认是关闭的,可以将
“控制面板”-“文件夹选项”-“查看”选项卡中的“高级设置”中“使用简单共享
(推荐)”一项的“√”去除,“确定”之后,再次按照上面的方法即可看到“安全
”选项卡了。

能更新。数据库或对象为只读
可能是数据库设为只读的了或存放数据库目录的权限有问题

系统是不是2003如果是2003 iis6 应该设置存放该数据库文件目录的权限

楼上的就不能分点给我回答吗?
真不谦虚!
补充:他说了那么多,对你有用的信息是:把你的me目录安全选项卡中ISUR_(你的用户名)的权限加入写入权限就可以了!
另外:给你个建议,
写asp最好不要用XP,XP自带的IIS是5.1的。设置上有些特殊。改2003最好!虽然2003一开始使用设置很麻烦,但是开发性能是最好的!