郁闷至死,闲得无聊。便用IIS测试些asp程序,但IIS以前一直是好好的,今天竟也和老子对抗,不工作了。提示:数据库连接出错,请检查连接字串!检查数据库连接。正确无误,并用asp小服务器测试正常。将主目录属里加上everyone用户,完全控制权限并继承到下一目录.无果。尝试其他(省略1万字....)
继续百度,终于找到了我的问题所在,因为老是喜欢用批处理清理系统的垃圾文件,所以出问题了。请看代码
@echo off
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清除系统垃圾文件完成!
echo. & pause
以上批处理文件中有一句话rd /s /q %windir%\temp & md %windir%\temp 将temp文件夹用RD命令删除,再用MD创建,这样会导致权限问题!而我的系统所有目录都是ntfs的格式,在NTFS格式下,temp目录的权限肯定会改变,由于数据库操作时需要使用temp目录作缓存进行数据交换,当权限不足时就出现:“数据库连接出错,请检查连接字串。”的错误提示。
至此问题解决,在这里要感谢互联网的伟大啊,要不然今天又要重新安装系统了。顺便总结下这类问题的解决办法:
1. 查看数据库是否有问题,或conn.asp连接是否有问题
如果确认都没问题的话,请看下一步
2. 由于网页数据库等访问时,需要系统盘:\windows\temp文件夹做缓存。
但如果temp文件夹权限不够,就会出现以上问题。
一般都是因为NTFS下使用了批处理来删除系统临时文件所导致TEMP文件夹权限更改。
解决:打开 系统盘:\windows 文件夹,点temp文件夹属性,选择安全
一般情况下有以下几个组用户名称及权限,可以我这个作比较做添加并赋予权限
administrator 全部允许
creator owner 特别的权限
network service 读取 / 特别权限
power users 全部允许
system 全部允许
users 特别权限