在與 SQL Server 建立連接時出現(xiàn)與網(wǎng)絡(luò)相關(guān)的或特定于實例的錯誤。未找到或無法訪問服務(wù)器。請驗證實例名稱是否正確并且 SQL Server 已配置為允許遠(yuǎn)程連接。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接)
說明: 執(zhí)行當(dāng)前 Web 請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關(guān)該錯誤以及代碼中導(dǎo)致錯誤的出處的詳細(xì)信息。
異常詳細(xì)信息: System.Data.SqlClient.SqlException: 在與 SQL Server 建立連接時出現(xiàn)與網(wǎng)絡(luò)相關(guān)的或特定于實例的錯誤。未找到或無法訪問服務(wù)器。請驗證實例名稱是否正確并且 SQL Server 已配置為允許遠(yuǎn)程連接。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接)
?
當(dāng)出現(xiàn)這個問題時,其實很簡單,是不同的數(shù)據(jù)庫版本,地連接方法個一樣;注意以下紅字部分。我以前是用Server=.;database=jtj;User ID=sa;Password=
改成了
Server==.\\SQLEXPRESS;Initial Catalog=jtj;User ID=sa;Password=
折騰了好久才搞好。
????? 1.開啟sql2005遠(yuǎn)程連接功能,開啟辦法如下:
??????? 配置工具->Sql Server外圍應(yīng)用配置器->服務(wù)和連接的外圍應(yīng)用配置器->打開MSSQLSERVER節(jié)點下的Database Engine節(jié)點,先擇“遠(yuǎn)程連接”,接下建議選擇“同時使用TCP/IP和named pipes”,確定后重啟數(shù)據(jù)庫服務(wù)就可以了。
??????? 2.登陸設(shè)置改為:Sql Server 和 Windows 身份驗證模式,具體設(shè)置如下:
??????? SQL Server Management Studio管理器->Windows 身份驗證連接服務(wù)器->對象資源管理器中選擇你的數(shù)據(jù)服務(wù)器->右鍵->屬性->安全性->Sql Server 和 Windows 身份驗證模式選中。
??????? 3.設(shè)置一個Sql Server方式的用戶名和密碼,具體設(shè)置如下:
??????? (1)SQL Server Management Studio管理器->Windows 身份驗證連接服務(wù)器->對象資源管理器中選擇你的數(shù)據(jù)服務(wù)器->展開服務(wù)器上的“安全性”->登陸名->在sa帳號上點右鍵->“選擇頁”選擇常規(guī)->更改sa登陸帳號的密碼。這樣就設(shè)置了一個用戶名為sa,密碼為:sa123456的用戶。
??????? (2)“選擇頁”選擇狀態(tài)->登陸修改為啟用
??????? 4.數(shù)據(jù)庫連接字符串
??????? 數(shù)據(jù)庫連接字符串有好幾種,相信你自己也見過,都被搞暈了
???????
Data Server=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
??????? Data Server=服務(wù)器名\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
??????? Data Server=localhost\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
??????? Data Server=.;Initial Catalog=Northwind;User ID=sa;Password=sa123456
??????? Data Server=服務(wù)器名;Initial Catalog=Northwind;User ID=sa;Password=sa123456
??????? ……
??????? 到底那種正確?這跟
數(shù)據(jù)庫版本有關(guān)系
,如果是Sql Server 2005 Express版本,則必須要有“\SQLEXPRESS”。而且如果這個字符串是定義為一個變量的時候,VS2005還會在“\”的下面加個紅色的波浪線提示你“\S是無法識別的轉(zhuǎn)義序列”,因此如果字符串是定義為一個變量的時候應(yīng)該寫成Server=.\\SQLEXPRESS
??????? 5.注冊Sql Server數(shù)據(jù)庫
??????? 在路徑“C:\Windows\Microsoft.NET\Framework\v2.0.50727”下運行“ASPNET_REGSQL”指令,就會出現(xiàn)ASP.NET SQL Server Setup Wizard向?qū)?,連續(xù)按下兩個下一步后就會出現(xiàn)Sql Server注冊界面,填入你要注冊的數(shù)據(jù)庫參數(shù)就注冊好了。注冊完后會在你的數(shù)據(jù)庫里多幾個表(如圖):
??????? 6.設(shè)置數(shù)據(jù)庫連接字符串
??????? 打開IIS->在默認(rèn)網(wǎng)站或是網(wǎng)站所在的虛擬目錄點擊右鍵選擇屬性->選擇ASP.NET選項卡->編輯配置->在“常規(guī)”頁簽編輯“LocalSqlServer”數(shù)據(jù)庫連接字符串:
??????? Data Server=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
??????? 7.設(shè)置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服務(wù)器資源管理器選中數(shù)據(jù)庫點擊右鍵->選擇修改連接->填入服務(wù)器名->使用Sql Server身份驗證填入用戶名sa及密碼sa123456->選擇或輸入一個數(shù)據(jù)庫名:Northwind->點擊測試連接
??????? 寬松的連接測試連接成功并不能說明數(shù)據(jù)庫就連接OK了,一開始我就是掛在這里,寬松的連接測試測試連接成功,可是始終無法讀出數(shù)據(jù)庫的內(nèi)容到網(wǎng)頁里頭。
??????? 2.嚴(yán)謹(jǐn)?shù)倪B接測試
??????? 在VS2005里選擇網(wǎng)站菜單->ASP.NET配置進(jìn)入ASP.NET網(wǎng)站管理工具->選擇提供程序->點擊AspNetSqlProvider的測試,若測試成功,說明數(shù)據(jù)庫設(shè)置完全正確,否則得從頭來過好好查查問題在哪里。
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:
http://blog.csdn.net/wyodyia/archive/2009/11/10/4795101.aspx
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
