(provider: 具名管道提供者, error: 40 – 無法開啟到 SQL Server 的串連) 的解決方案

來源:互聯網
上載者:User
        

在與 SQL Server 建立串連時出現與網路相關的或特定於執行個體的錯誤。未找到或無法訪問伺服器。請驗證執行個體名稱是否正確並且 SQL Server 已配置為允許遠端連線。 (provider: 具名管道提供者, error: 40 - 無法開啟到 SQL Server 的串連)
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆疊追蹤資訊,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細資料。

異常詳細資料: System.Data.SqlClient.SqlException: 在與 SQL Server 建立串連時出現與網路相關的或特定於執行個體的錯誤。未找到或無法訪問伺服器。請驗證執行個體名稱是否正確並且 SQL Server 已配置為允許遠端連線。 (provider: 具名管道提供者, error: 40 - 無法開啟到 SQL Server 的串連)

 

當出現這個問題時,其實很簡單,是不同的資料庫版本,地串連方法個一樣;注意以下紅字部分。我以前是用Server=.;database=jtj;User ID=sa;Password=

改成了Data Source=.\\SQLEXPRESS;Initial Catalog=jtj;User ID=sa;Password=

折騰了好久才搞好。

      1.開啟sql2005遠端連線功能,開啟辦法如下:
        組態工具->Sql Server介面區配置器->服務和串連的介面區配置器->開啟MSSQLSERVER節點下的Database Engine節點,先擇“遠端連線”,接下建議選擇“同時使用TCP/IP和named pipes”,確定後重啟資料庫服務就可以了。

        2.登陸設定改為:Sql Server 和 Windows 身分識別驗證模式,具體設定如下:
        SQL Server Management Studio管理器->Windows 身分識別驗證串連伺服器->物件總管中選擇你的資料服務器->右鍵->屬性->安全性->Sql Server 和 Windows 身分識別驗證模式選中。
        3.設定一個Sql Server方式的使用者名稱和密碼,具體設定如下:
        (1)SQL Server Management Studio管理器->Windows 身分識別驗證串連伺服器->物件總管中選擇你的資料服務器->展開伺服器上的“安全性”->登陸名->在sa帳號上點右鍵->“選擇頁”選擇常規->更改sa登陸帳號的密碼。這樣就設定了一個使用者名稱為sa,密碼為:sa123456的使用者。
        (2)“選擇頁”選擇狀態->登陸修改為啟用
        4.資料庫連接字串
        資料庫連接字串有好幾種,相信你自己也見過,都被搞暈了
        Data Source=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
        Data Source=伺服器名\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
        Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
        Data Server=.;Initial Catalog=Northwind;User ID=sa;Password=sa123456
        Data Source=伺服器名;Initial Catalog=Northwind;User ID=sa;Password=sa123456
        ……
        到底那種正確?這跟資料庫版本有關係,如果是Sql Server 2005 Express版本,則必須要有“\SQLEXPRESS”。而且如果這個字串是定義為一個變數的時候,VS2005還會在“\”的下面加個紅色的波浪線提示你“\S是無法識別的逸出序列”,因此如果字串是定義為一個變數的時候應該寫成Server=.\\SQLEXPRESS
        5.註冊Sql Server資料庫
        在路徑“C:\Windows\Microsoft.NET\Framework\v2.0.50727”下運行“ASPNET_REGSQL”指令,就會出現ASP.NET SQL Server Setup Wizard嚮導,連續按下兩個下一步後就會出現Sql Server註冊介面,填入你要註冊的資料庫參數就註冊好了。註冊完後會在你的資料庫裡多幾個表():

        6.設定資料庫連接字串
        開啟IIS->在預設網站或是網站所在的虛擬目錄點擊右鍵選擇屬性->選擇ASP.NET選項卡->編輯配置->在“常規”頁簽編輯“LocalSqlServer”資料庫連接字串:
        Data Server=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
        7.設定web.config檔案
        在web.config檔案添加如下程式:
<connectionStrings>
<add name="LocalSqlServer" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456" providerName="System.Data.SqlClient"/>
</connectionStrings>
        這樣便大功告成了。下面來測試
        1.寬鬆的串連測試
        寬鬆的串連測試使用SqlDataSource
        VS2005伺服器總管選中資料庫點擊右鍵->選擇修改串連->填入伺服器名->使用Sql Server身分識別驗證填入使用者名稱sa及密碼sa123456->選擇或輸入一個資料庫名:Northwind->點擊測試連接
        寬鬆的串連測試連接成功並不能說明資料庫就串連OK了,一開始我就是掛在這裡,寬鬆的串連測試測試連接成功,可是始終無法讀出資料庫的內容到網頁裡頭。
        2.嚴謹的串連測試
        在VS2005裡選擇網站菜單->ASP.NET配置進入ASP.NET網站管理工具->選擇提供者->點擊AspNetSqlProvider的測試,若測試成功,說明資料庫設定完全正確,否則得從頭來過好好查查問題在哪裡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.