通過IIS不能連接遠程數據庫的問題


近期遇到一個奇怪的問題:在調試MES程序時發現,如果連接的是遠程的SQL SERVER數據庫(通過了IIS),則提示連接失敗,就是經常見到的數據庫不允許遠程連接的錯誤提示;

而且又測試了以下幾種情況:

1. 在蕪湖與石家庄都遇到這種情況,而且數據庫服務器端未做任何改動;

2. 使用IIS連接本地的數據庫正常;

3. 別人的機器在調試程序時可以正常地連接遠程數據庫;

4. 使用本人機器的SQL SERVER客戶端可以正常訪問遠程數據庫;

5. 使用本人機器,不使用IIS,直接使用最基本的代碼連接遠程的SQL SERVER數據庫,一切正常;

6. 重新注冊asp.net到IIS,並重啟IIS,仍然連接失敗;

 

因此可以肯定是本人機器的原因,而且這個問題肯定出現在了使用IIS訪問遠程數據庫的過程中。

最可能的原因:

1. IIS的配置;

2. 安全權限方面的問題;

最后,終於從網上查到一個類似的問題,將問題解決;否則就要重做系統了。

解決辦法:

修改IIS應用程序池的設置:找到程序對應的應用程序池,在“高級設置”中找到“標識”,然后為其內置賬戶選擇“localsystem”(原來是ApplicationPoolIdentity)。

參考:http://www.cnblogs.com/zhangronghua/archive/2008/10/07/1305597.html

 

但是,這種解決方案是否最好,或者應該還有其他的解決辦法,后來又查了一下關於IIS的標識的資料,ApplicationPoolIdentity是IIS7.5中新增的,而且更推薦使用它,估計默認就應該是它,也許改其他哪個地方的權限,也可以解決這種問題。

參考:IIS7.5中應用程序池標識是什么 http://www.veryhuo.com/a/view/72397.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM