08-05
16

清理垃圾批处理导致IIS数据库连接出错



出现了“数据库连接出错,请检查数据库参数设置”,一般数据库连接错误,很容易想到是ASP代码的问题,要么是数据库路径有误,要么是连接代码写错了,或者ASP程序代码所在目录权限设置不当,我一见到这个错误也这么想,检查一下conn.asp 中的数据库路径与数据库名称,没什么问题,又检查了一下根目录权限设置(NTFS盘),有Internet来宾权限(当然EVERYONE权限也行),那就说明本身没问题了,那为什么程序会说数据库连接错误呢?用以前自己做的网页测试一下,也出现同样的问题,看来一定是IIS的问题了,这下你又错了,你怎么也不会想到是windows目录下的temp文件夹的权限问题。

当你使用下面的代码清理垃圾文件时,如果你没有用IIS,就不会有什么问题,但你如果有IIS的话就会出现
“数据库连接出错,请检查Conn.asp文件中的数据库参数设置。”,
下面将我的处理方法告诉大家:
@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创建,这样会导致权限问题!
怀疑原因可能出在IIS设置上,仔细检查数遍,兼网站目录权限,未发现问题。
再在互联网上搜索,发现一案例,因使用批处理命令删除临时文件夹,出现相同症状,恍然大悟,一定是临时文件夹权限问题。
在NTFS格式下,temp目录的权限肯定会改变,由于数据库操作时需要使用temp目录作缓存进行数据交换,当权限不足时就出现:“数据库连接出错,请检查连接字串。”的错误提示。
修正temp权限后再试,ok了
说过,对系统我是很爱干净的,每隔几天我都要清理一下,本来超级兔子、优化大师、瑞星卡卡都有清理系统垃圾的功能,你会很好笑,因为这三个我都安装了,天天清个彻底,后来发现上面那个批处理文件,上文件复制到记事本里面另存为.bat文件,然后双击,马上系统垃圾一扫而空,那种感觉超爽,没想给这里留下了后患,没关系,上面文章说了,照着做:
找到temp目录:C:\WINDOWS\这里即可找到。
然后点右键属性,再点“安全”,点“添加”,再点“高级”,再点“立即查找”,然后会列出一大堆有户,你选择IUSER开头的那个点确定,即添加了INTERNET来宾帐号,再选中这个号,在下面设置一下这个帐号的权限,可把左边那一列全部勾上。然后再测试一下IIS,没问题了。当然这些的前题都是你的盘格式为NTFS,如果是FAT32应该不会出现这些问题。


Comments: 0 | Trackbacks: 0 | Trackbacks: 1523
发表评论
昵 称: 验 证: 验证码
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
1000 字 UBB代码 [img]标签 ×