Sql server在另一台服務器,在Visual Studio 中沒問題,IIS中 提示“在與 SQL Server 建立連接時出現與網絡相關的或特定於實例的錯誤。。。。”


可能問題一:

確切的說是在IIS 7.5中有這問題

就是在visual studio中都用的好好的,但是加載到IIS上的時候竟然報錯“

在與 SQL Server 建立連接時出現與網絡相關的或特定於實例的錯誤。未找到或無法訪問服務器。請驗證實例名稱是否正確並且 SQL Server 已配置為允許遠程連接。 (provider: Named Pipes Provider, error: 40 - 無法打開到 SQL Server 的連接)  說明: 執行當前 Web 請求期間,出現未經處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。            
異常詳細信息: System.Data.SqlClient.SqlException: 在與 SQL Server 建立連接時出現與網絡相關的或特定於實例的錯誤。未找到或無法訪問服務器。請驗證實例名稱是否正確並且 SQL Server 已配置為允許遠程連接。 (provider: Named Pipes Provider, error: 40 - 無法打開到 SQL Server 的連接)
源錯誤:
行 497:            catch (System.Data.SqlClient.SqlException e)
行 498:            {
行 499:                throw e;
行 500:            }   
行 501:
源文件: D:\MyClassLib\DBUtility\DbHelperSQLP.cs     行: 499            
堆棧跟蹤:
[SqlException (0x80131904): 在與 SQL Server 建立連接時出現與網絡相關的或特定於實例的錯誤。未找到或無法訪問服務器。請驗證實例名稱是否正確並且 SQL Server 已配置為允許遠程連接。 (provider: Named Pipes Provider, error: 40 - 無法打開到 SQL Server 的連接)]
   DBUtility.DbHelperSQLP.ExecuteReader(String strSQL) in D:\MyClassLib\DBUtility\DbHelperSQLP.cs:499
   SfxtHelper.GetCurrentYis(String start, String end) in d:\SunOA\Web\App_Code\SfxtHelper.cs:406
   shouji.Page_Load(Object sender, EventArgs e) in d:\SunOA\Web\fyt\shouji.aspx.cs:41
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.272           

網上動不動,網絡訪問啊開啟遠程連接,千篇一律的復制,也不看看具體情況,浪費資源還害的別人增加了搜索難度。

本來在visual studio就可以正常使用,說明這網絡肯定不存在問題,也不存在什么遠程連接的問題

很明顯 這就是iis的設置問題。

作為服務器,安全是很重要的,微軟在iis7.5上做了些改動。

在iis7.5以前,iis的默認賬戶是NetworkServices,從iis7.5開始使用當前程序(網站)的應用程序池名稱作為默認賬戶(在系統盤下的“用戶”文件下將會看到這些特殊的用戶名)

而這些賬戶的權限是很小的,小到連訪問網絡的權限都沒有,所以訪問sql 就會出錯了啊,好在微軟可以讓我們自己指定賬戶,這樣我們就可以新建一個賬戶,給他指定要權限,然后再給應用程序池使用,問題引刃而解了

號召大家不要再盲目轉別人的帖子了,因為各人碰到的問題不一樣,轉帖的時候盡量總結下,加點自己的東西,既有助於自己,又能讓別人更容易的搜索到有用的東西

 

可能問題二:

1、程序-----SQL Server2008---配置工具——SQL Server配置管理器
IP地址填入你自己的IP,TCP端口填寫為1433
植入SQLEXPRESS的協議下面那個JAY的協議根據電腦不同可能會不同,點擊按照如上同樣的設置
在與 <wbr>SQL <wbr>Server <wbr>建立連接時出現與網絡相關的或特定於實例的錯誤。

2、把如下的都啟動起來,啟動模式改為自動啟動在與 <wbr>SQL <wbr>Server <wbr>建立連接時出現與網絡相關的或特定於實例的錯誤。

3、打開“MS SQL Server Management Studio”,選擇“Windows身份驗證”登錄
右鍵---方面,按照如下設置,把紅框里面的都設置為True
在與 <wbr>SQL <wbr>Server <wbr>建立連接時出現與網絡相關的或特定於實例的錯誤。

在與 <wbr>SQL <wbr>Server <wbr>建立連接時出現與網絡相關的或特定於實例的錯誤。

4、
在Windows 防火牆中為“SQL Server 2005”創建例外 
1.在 Windows 防火牆設置界面中,選擇“ 例外” 選項卡,然后單擊“添加程序” 
2.在“添加程序窗口”中單擊“瀏覽” 
3.然后找到“C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\ MSSQL.1 \MSSQL\Binn\sqlservr.exe”, 
單擊“確定”返回 
注意 : 路徑可能會根據 SQL Server 2005 安裝不同而不同。 MSSQL.1 是占位符,對應數據庫實例ID。 
4.對每個需要打開遠程訪問的SQL Server 2005 實例,重復步驟 1 至 3。 

在Windows 防火牆中為“SQLBrowser”創建例外 
1.在 Windows 防火牆設置界面中,選擇“ 例外” 選項卡,然后單擊“添加程序” 
2.在“添加程序窗口”中單擊“瀏覽” 
3.然后找到“C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe”, 
單擊“確定”返回 
注意 : 路徑可能會根據 SQL Server 2005 安裝不同而不同。 


5、重啟服務
在與 <wbr>SQL <wbr>Server <wbr>建立連接時出現與網絡相關的或特定於實例的錯誤。


免責聲明!

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



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