今天调asp程序时,在xp下,一执行到更新就出现:Microsoft OLE DB Provider for ODBC Drivers (0x80004005) 这个问题,按经验来看该错误一般是数据库只读或权限不足的问题。
仔细一看,果然,我把文件夹建在了ntfs格式分区下,这样的话就会产生update操作更新失败的错误。转换一另一个fat32格式下,再执行语句,就没有问题。
我们知道通常来讲,如果出现权限问题就要采用如下操作:
我的电脑-->工具-->文件夹选项-->查看-->使用简单文件共享(推荐),然后设置everyone或iis的user权限为全部。
但却发现,在xp home下却没有该选项?奇怪了。
查了一下,嗯,原来在xp home版中是没有这个选择的。如果想显示出来,可以新建个txt,写如下内容,存成reg:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing]
"Type"="checkbox"
"Text"="@shell32.dll,-30518"
"HKeyRoot"=dword:80000002
"RegPath"="System\\CurrentControlSet\\Control\\LSA"
"ValueName"="ForceGuest"
"CheckedValue"=dword:00000001
"UncheckedValue"=dword:00000000
"HelpID"="shell.hlp#51154"
"DefaultValue"=dword:00000001
这样的话,选择倒是出来了,可以选择取消后,但是右键文件,权限选项卡依然没有出现。所以问题依然得不到解决。
继续研究,倒底该如何修改权限呢?上网转了一圈,倒是找到了两个解决方法:
1.使用cacls命令:
命令帮助:
显示或者修改文件的访问控制表(ACL)
CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]] [/P user:perm [...]] [/D user [...]]
filename 显示 ACL。
/T 更改当前目录及其所有子目录中
指定文件的 ACL。
/E 编辑 ACL 而不替换。
/C 在出现拒绝访问错误时继续。
/G user:perm 赋予指定用户访问权限。
Perm 可以是: R 读取
W 写入
C 更改(写入)
F 完全控制
/R user 撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。
/P user:perm 替换指定用户的访问权限。
Perm 可以是: N 无
R 读取
W 写入
C 更改(写入)
F 完全控制
/D user 拒绝指定用户的访问。
在命令中可以使用通配符指定多个文件。
也可以在命令中指定多个用户。
缩写:
CI - 容器继承。
ACE 会由目录继承。
OI - 对象继承。
ACE 会由文件继承。
IO - 只继承。
ACE 不适用于当前文件/目录。
例如:
设置用户访问权限:要赋予本机用户FireYDC对E:\123目录及其所有子目录中的文件有完全控制权限。在命令提示符对话框中输入“Cacls E:\123 /t /e /c /g FireYDC:f ”命令即可。
替换用户访问权限:将本机用户FireYDC的完全控制权限替换为只读权限。在命令提示符对话框中输入“ Cacls E:\123 /t /e /c /p FireYDC:r ”命令即可。
撤销用户访问权限:要想撤销本机用户FireYDC对E:\123目录的完全控制权限也很容易,在命令提示符中运行“Cacls E:\123 /t /e /c /r FireYDC”即可。
拒绝用户访问:要想拒绝用户FireYDC访问E:\123目录及其所有子目录中的文件,运行“Cacls E:\123 /t /e /c /d FireYDC”即可。
2.将xp home切换到安全模式下面,只要你的硬盘分区是NTFS文件系统,你同样可以看到安全选项卡,设置同XP PRO
第二种方法,显然更实用!到此问题解决。
========
倒是发现了一个新问题,以前曾在机房遇到过,在winxp系统是fat32,而一个分区是ntfs格式时,在ntfs分区下,所有的文件夹的属性都是只读的,取消只读,跑了一遍所有目录,但仍然是只读的。这个问题是怎么回事?
这个倒是找到了答案:
在Windows XP中,所有的文件夹都具有“只读”属性,取消只读属性后再次察看会发现依然是只读的,但是这不影响文件的使用。因为在Windows XP中,文件夹属性中的“只读”不再代表原来的字面含义:对于文件系统来说,文件夹的只读属性没有实际的意义。即使一个文件夹是只读的,你仍然可以在这个文件夹里创建.修改或删除文件Windows XP中文件夹“Read-Only”属性表示该文件夹是“定制”的。去掉“只读”属性会丢失该文件夹所有的“定制”信息,如图标.背景等。所以,Windows XP中不再提供用户界面来设置文件夹本身的只读属性。文件夹属性中“只读”的状态永远是第三态。当你在文件夹属性中选中或清除“只读”时,你设置的是这个目录下的文件的只读属性。它永远有绿色的小方框.