調試系統的時候,總是提示資料庫連接失敗,但可以肯定的一點就是,資料庫路徑絕對沒有錯誤。仔細研究了一段時間,終於找到了問題的根源。

在用ASP程式設計的時候,往往要配置IIS環境,我的系統是SHOST的,克隆的系統都不帶有IIS。我用過好多個克隆版本的系統,現在用的是深度技術的,但是發現裝上IIS後,打開ASP編的網頁時,總是提示:「資料庫連接出錯,請檢查Conn.asp中的資料庫指向」(試驗證明出現「資料庫連接出錯,請檢查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
如果你沒有用IIS,就不會有什麼問題,但你如果有IIS的話就會出現 剛剛說的資料庫連接錯誤問題。

以上批次檔中有一句話rd /s /q %windir%\temp & md %windir%\temp

將temp資料夾用RD命令刪除,再用MD創建,這樣會導致許可權問題!
懷疑原因可能出在IIS設置上,仔細檢查數遍,兼網站目錄許可權,未發現問題。
再在互聯網上搜索,發現一案例,因使用批次處理命令刪除暫存檔案夾,出現相同症狀,恍然大悟,一定是暫存檔案夾許可權問題。
在NTFS格式下,temp目錄的許可權肯定會改變,由於資料庫操作時需要使用temp目錄作緩存進行資料交換,當權限不足時就出現:「資料庫連接出錯,請檢查連接字串。」的錯誤提示。
修正temp許可權後再試,ok了

找到temp目錄:C:\WINDOWS\這裡即可找到。

然後點右鍵屬性,再點「安全」,點「添加」,再點「高級」,再點「立即查找」,然後會列出一大堆有戶,你選擇IUSER開頭的那個點確定,即添加了INTERNET來賓帳號,再選中這個號,在下面設置一下這個帳號的許可權,可把左邊那一列全部勾上。然後再測試一下IIS,沒問題了。當然這些的前題都是你的盤格式為NTFS,如果是FAT32應該不會出現這些問題。
資料夾屬性中沒有 安全的選項卡,只有 共用的選項卡,對於需要設置詳細的安全存取權限的人來說,無法設置。

解決辦法:
按兩下 我的電腦------工具-------資料夾選項---------打開 查看 選項卡,去掉 使用簡單檔共用(推薦) 前面的勾,應用確定即可
創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()