在與 SQL Server 建立連接時(shí)出現(xiàn)與網(wǎng)絡(luò)相關(guān)的或特定于實(shí)例的錯(cuò)誤。未找到或無法訪問服務(wù)器。請驗(yàn)證實(shí)例名稱是否正確并且 SQL Server 已配置為允許遠(yuǎn)程連接。
在使用G2服務(wù)時(shí),測試服務(wù)器連接,結(jié)果遇到這個(gè)問題。
問題詳細(xì):連接測試失?。。涸谂c SQL Server 建立連接時(shí)出現(xiàn)與網(wǎng)絡(luò)相關(guān)的或特定于實(shí)例的錯(cuò)誤。未找到或無法訪問服務(wù)器。請驗(yàn)證實(shí)例名稱是否正確并且 SQL Server 已配置為允許遠(yuǎn)程連接。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接)。
本機(jī)配置:Win7系統(tǒng),SQL Server 2008 R2 數(shù)據(jù)庫,在360瀏覽器測試使用G2服務(wù)測試數(shù)據(jù)庫連接。
首先查看了數(shù)據(jù)庫已經(jīng)允許遠(yuǎn)程連接,數(shù)據(jù)庫連接字符串也填寫正確。PS:連接朋友數(shù)據(jù)庫正常。
在網(wǎng)絡(luò)上搜索了一些答案。
其中,第一種方法:
運(yùn)行中輸入services.msc,查看SQL有關(guān)服務(wù)是否全部開啟。
啟動(dòng)所有可以啟動(dòng)的SQL相關(guān)服務(wù)完畢,仍未解決問題。
第二種方法:
設(shè)置配置管理器中TCP/IP,端口設(shè)置為默認(rèn)的1433。
結(jié)果SQLEXPRESS的協(xié)議設(shè)置為1433后,重啟SQL Server (SQLEXPRESS)出現(xiàn)錯(cuò)誤。
然后就不能再啟動(dòng)了。
最后找了好朋友幫忙,終于解決了問題。
所做的設(shè)置有:
更改SQL Server (SQLEXPRESS)TCP/IP
其中8099是任意設(shè)置的端口(后面還要在防火墻設(shè)置)。
這時(shí)可以啟動(dòng)SQL Server (SQLEXPRESS)
在控制面板打開防火墻,點(diǎn)擊高級設(shè)置。
點(diǎn)擊入站規(guī)則,新建規(guī)則
選擇端口,下一步
輸入之前的端口8099,下一步
默認(rèn)允許連接,下一步
默認(rèn),下一步
輸入名稱8099(可任意命名),完成。
回到高級設(shè)置界面
數(shù)據(jù)庫測試成功
您的支持是我不竭的動(dòng)力。如果有錯(cuò)誤的地方,歡迎指正。
在與 SQL Server 建立連接時(shí)出現(xiàn)與網(wǎng)絡(luò)相關(guān)的或特定于實(shí)例的錯(cuò)誤。未找到或無法訪問服務(wù)器。請驗(yàn)證實(shí)例名稱是否正確并且 SQL Server 已配置為允許遠(yuǎn)程連接。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接)
說明: 執(zhí)行當(dāng)前 Web 請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關(guān)該錯(cuò)誤以及代碼中導(dǎo)致錯(cuò)誤的出處的詳細(xì)信息。
異常詳細(xì)信息: System.Data.SqlClient.SqlException: 在與 SQL Server 建立連接時(shí)出現(xiàn)與網(wǎng)絡(luò)相關(guān)的或特定于實(shí)例的錯(cuò)誤。未找到或無法訪問服務(wù)器。請驗(yàn)證實(shí)例名稱是否正確并且 SQL Server 已配置為允許遠(yuǎn)程連接。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接)
當(dāng)出現(xiàn)這個(gè)問題時(shí),其實(shí)很簡單,是不同的數(shù)據(jù)庫版本,地連接方法個(gè)一樣;注意以下紅字部分。我以前是用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é)點(diǎn)下的Database Engine節(jié)點(diǎn),先擇“遠(yuǎn)程連接”,接下建議選擇“同時(shí)使用TCP/IP和named pipes”,確定后重啟數(shù)據(jù)庫服務(wù)就可以了。
2.登陸設(shè)置改為:Sql Server 和 Windows 身份驗(yàn)證模式,具體設(shè)置如下:
SQL Server Management Studio管理器->Windows 身份驗(yàn)證連接服務(wù)器->對象資源管理器中選擇你的數(shù)據(jù)服務(wù)器->右鍵->屬性->安全性->Sql Server 和 Windows 身份驗(yàn)證模式選中。
3.設(shè)置一個(gè)Sql Server方式的用戶名和密碼,具體設(shè)置如下:
(1)SQL Server Management Studio管理器->Windows 身份驗(yàn)證連接服務(wù)器->對象資源管理器中選擇你的數(shù)據(jù)服務(wù)器->展開服務(wù)器上的“安全性”->登陸名->在sa帳號上點(diǎn)右鍵->“選擇頁”選擇常規(guī)->更改sa登陸帳號的密碼。這樣就設(shè)置了一個(gè)用戶名為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”。而且如果這個(gè)字符串是定義為一個(gè)變量的時(shí)候,VS2005還會(huì)在“/”的下面加個(gè)紅色的波浪線提示你“/S是無法識別的轉(zhuǎn)義序列”,因此如果字符串是定義為一個(gè)變量的時(shí)候應(yīng)該寫成Server=.//SQLEXPRESS
5.注冊Sql Server數(shù)據(jù)庫
在路徑“C:/Windows/Microsoft.NET/Framework/v2.0.50727”下運(yùn)行“ASPNET_REGSQL”指令,就會(huì)出現(xiàn)ASP.NET SQL Server Setup Wizard向?qū)?,連續(xù)按下兩個(gè)下一步后就會(huì)出現(xiàn)Sql Server注冊界面,填入你要注冊的數(shù)據(jù)庫參數(shù)就注冊好了。注冊完后會(huì)在你的數(shù)據(jù)庫里多幾個(gè)表(如圖):
5.設(shè)置數(shù)據(jù)庫連接字符串
打開IIS->在默認(rèn)網(wǎng)站或是網(wǎng)站所在的虛擬目錄點(diǎn)擊右鍵選擇屬性->選擇ASP.NET選項(xiàng)卡->編輯配置->在“常規(guī)”頁簽編輯“LocalSqlServer”數(shù)據(jù)庫連接字符串:
Data Server=./SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
6.設(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ù)庫點(diǎn)擊右鍵->選擇修改連接->填入服務(wù)器名->使用Sql Server身份驗(yàn)證填入用戶名sa及密碼sa123456->選擇或輸入一個(gè)數(shù)據(jù)庫名:Northwind->點(diǎn)擊測試連接
寬松的連接測試連接成功并不能說明數(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)站管理工具->選擇提供程序->點(diǎn)擊AspNetSqlProvider的測試,若測試成功,說明數(shù)據(jù)庫設(shè)置完全正確,否則得從頭來過好好查查問題在哪里。
您可能感興趣的文章:- 圖文詳解Windows Server2012 R2中安裝SQL Server2008
- SQL Server 2008 R2 超詳細(xì)安裝圖文教程
- Win2003系統(tǒng)下SQL Server 2008安裝圖解教程(詳細(xì)圖解)
- sql2008安裝教程 SQL Server 2008 R2 安裝圖解
- win2008 enterprise R2 x64 中安裝SQL server 2008的方法
- 安裝sql server2008后再安裝sql 2005找不到本地服務(wù)器的解決方法
- win2008 r2 下安裝sql server 2005 64位教程(圖解)
- Sql Server 2008安裝圖文教程