用過vs2005開發(fā)的兄弟們都知道,在新建一個網(wǎng)站項目的時候,要求選擇一個網(wǎng)站位置,既可以不使用iis做開發(fā)web服務器,而使用文件系統(tǒng),也就是vs2005自帶的一個web服務器運行網(wǎng)站.
我有一個項目,是在"文件系統(tǒng)"方式下開發(fā)的,數(shù)據(jù)庫系統(tǒng)是sqlserver2000,在開發(fā)時,一切正常.
但是在發(fā)布時,我們要使用iis,當項目布署到iis下時,訪問sqlserver2000的代碼無法執(zhí)行.連接數(shù)據(jù)庫時被強制要求訪問sqlserver2005,并提示了
<
在建立與服務器的連接時出錯。在連接到 sql server 2005 時,在默認的設置下 sql server 不允許進行遠程連接可能會導致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 sql server 的連接) 
>
切換回了"文件系統(tǒng)"方式,錯誤消失了....
解決辦法:
1.
打開iis屬性-》虛擬目錄屬性-》選net 2.0-》點‘編輯配置’-》刪除所有連接sqlexpress的項 
當然,最好連全局的配置也刪除, 
打開iis屬性-》站點屬性-》選net 2.0-》點‘編輯全局配置’ 
-》刪除所有連接sqlexpress的項 
2.在應用服務器的日志中,找到了 
異常信息: 
異常類型: sqlexception 
異常消息: 在建立與服務器的連接時出錯。在連接到 sql server 2005 時,在默認的設置下 sql server 不允許進行遠程連接可能會導致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 sql server 的連接) 
請求信息: 
請求 url: http://localhost/test/default.aspx 
請求路徑: /test/default.aspx 
用戶主機地址: 127.0.0.1 
用戶: 
是否已經(jīng)過身份驗證: false 
身份驗證類型: 
線程帳戶名: nt authority/network service 
于是我判斷是sqlserver服務器的問題.
3.在數(shù)據(jù)庫日志中發(fā)現(xiàn)了 
您運行的 microsoft sql server 2000 版本或 microsoft sql server 2000 desktop engine (也稱為 msde) 和 microsoft windows server 2003 家族使用時存在已知的 安全弱點。為了減少計算機被某些病毒的攻擊,microsoft sql server 2000,msde 或 兩者的 tcp/ip 和 udp 網(wǎng)絡端口被禁用。要啟用這些端口,您必須從 http://www.microsoft.com/sql/downloads/default.asp 或 http://www.microsoft.com/china/sql/downloads/default.asp 安裝一個修補程序, 或 microsoft sql server 2000 或 msde 的最新服務包。 
于是我換了一臺剛裝好系統(tǒng)的服務器,并下載了sp4的補丁打上了.
果然,連起來再試,成功了.... 
看來,還是要多打補丁啊.... 
 
新聞熱點
疑難解答
圖片精選