IIS数据库连接出错的一些解决办法

来源:互联网 发布:奇葩室友 知乎 编辑:程序博客网 时间:2024/06/10 07:13
今天闲来无事,决定在本地调试一下博客程序,准备做套皮肤。iis里面配置好了之后,突然出现“数据库连接出错,请检查连接字串!”。当时就晕了。也许有的朋友肯定说这个又不是什么大事情,改下conn.asp里面的数据库连接不就好了。且听我慢慢说来:如果一般情况下调试ASP程序出现这种错误的话,只要查看数据库是否有问题,或conn.asp连接是否有问题。但是我的几个程序都是完整和正常的。因为上次还调试了。因为这种情况我已经碰到了好几次了,最后每次只能用重新安装系统的办法来解决,所以这次出现这个问题,当时心里就凉了,难道又要重新安装系统?不甘心,这次一定要想个办法解决。百度上搜了好一阵子,原来知道了由于网页数据库等访问时,需要系统盘:/windows/temp文件夹做缓存。但如果temp文件夹权限不够,就会出现以上问题。于是把这个目录的权限修改了一下,果然访问正常了。激动 无比激动 激动得不得了。终于不用重新装系统了。不过一想原来都可以正常使用的,怎么突然就出现权限不够的问题呢?而且这个目录属于系统目录,肯定是有什么东西修改了这个目录的权限。

继续百度,终于找到了我的问题所在,因为老是喜欢用批处理清理系统的垃圾文件,所以出问题了。请看代码
@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             特别权限

  
   这里修改好后,基本问题应该就会解决了。
0 0
原创粉丝点击