An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
-===============================================
http://blog.csdn.net/quou2002/在使用VS2005+MS-SqlServer2000進(jìn)行開(kāi)發(fā)的時(shí)候可能經(jīng)?;赜龅揭陨襄e誤,如何能解決呢?請看
總結一下最后的方案:
1、打開(kāi)vs自帶的命令行窗口,運行aspnet_regsql.exe,按提示操作,在sql2005里建立了一個(gè)名為aspnetdb的數據庫,右鍵點(diǎn)數據庫aspnetdb-->新查詢(xún),在項目路徑下App_data里有個(gè)personal-add.sql,里面內容復制粘貼到新查詢(xún)里,運行,這樣在aspnetdb里加入了程序需要的表結構;
2、找到2.0帶的machine.config在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG下,找到<connectionStrings>節,將里面的內容改為:
<connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.;Integrated Security=SSPI;Initial Catalog=aspnetdb;" providerName="System.Data.SqlClient" />
</connectionStrings>
打開(kāi)項目下的web.config,改<connectionStrings>節為:
<connectionStrings>
<add name="Personal" connectionString="Data Source=.;Initial Catalog=aspnetdb;Integrated Security=True;" providerName="System.Data.SqlClient" />
<!--<add name="LocalSqlServer" connectionString="Data Source=.;Initial Catalog=aspnetdb;Integrated Security=True;" providerName="System.Data.SqlClient" />-->
</connectionStrings>
ok,運行!
不知道為什么,machine.config里和項目模版里自動(dòng)把數據庫指定為 .\sqlexpress ,我明明沒(méi)有裝express啊。還有我用sqlprovider聯(lián)接到它自帶的personal.mdf 數據庫,總提示我remote access失敗,我明明把tcp/ip方式打開(kāi)了。(我在另一臺機器上裝了sqlexpress,不打開(kāi)tcpip方式,提示出錯信息一樣,打開(kāi)tcpip就可以)
----繼續研究2.0吧
=====看了微軟的一篇文章才知道,原來(lái)如此====
http://www.microsoft.com/china/msdn/library/webservices/asp.net/MedLibStrtKit.mspx將 ASP.NET 2.0 應用程序服務(wù)配置為使用 SQL Server 2000 或 SQL Server 2005
發(fā)布日期: 12/8/2005 | 更新日期: 12/8/2005
Scott Guthrie
Product Unit Manager,Web.NET
適用于:
Microsoft ASP.NET 2.0
Microsoft SQL Server 2005 Express Edition
Microsoft SQL Server 2005
Microsoft SQL Server 2000
摘要:描述如何建立新的 ASP.NET 成員關(guān)系、角色管理和個(gè)性化服務(wù),從而使用常規的 SQL Server 代替 Microsoft SQL Server Express。
注本文
最初發(fā)表于 Scott 的網(wǎng)絡(luò )日記。請在
此處加入討論。
本頁(yè)內容
快速回顧:新的 ASP.NET 2.0 應用程序服務(wù)是什么?默認的 SQL Express 提供程序小結快速回顧:新的 ASP.NET 2.0 應用程序服務(wù)是什么?
Microsoft ASP.NET 2.0 包含許多內置的“構造塊”應用程序服務(wù)。我們稱(chēng)其為“構造塊”的原因是,它們是有用的核心框架,從而能夠在超常情況下用于當前的 Web 應用程序 — 因此,它們可以大大提高生產(chǎn)效率并節約開(kāi)發(fā)人員的時(shí)間。
這些構造塊包括:
•
成員關(guān)系 API(用于管理用戶(hù)名/密碼和安全憑據)以及角色 API(支持將用戶(hù)映射到邏輯組)。
•
配置文件 API,用于存儲訪(fǎng)問(wèn) Web 站點(diǎn)的已驗證用戶(hù)和匿名用戶(hù)的任意屬性(例如,郵編、性別、主題首選項等)。
•
個(gè)性化 API,用于存儲控件自定義首選項(通常與 ASP.NET 2.0 中的 WebPart 功能一起使用)。
•
狀態(tài)監視 API,用于跟蹤和收集有關(guān)運行狀態(tài)的信息和 Web 應用程序內部發(fā)生的任何錯誤。
•
站點(diǎn)導航 API,用于定義應用程序內部的層次結構,以及根據當前傳入用戶(hù)在站點(diǎn)內的位置來(lái)構建特定于上下文的導航 UI(菜單、樹(shù)視圖、詳細路徑跟蹤)。
ASP.NET 應用程序服務(wù) API 可插接且實(shí)現過(guò)程不可知,這意味著(zhù),API 不對數據存儲位置的詳細信息進(jìn)行硬編碼。相反,API 調入“提供程序”,而“提供程序”是實(shí)現特定“提供程序約定”(定義為一個(gè)抽象類(lèi),具有 API 期望實(shí)現的一組定義好的方法/屬性)的類(lèi)。
ASP.NET 2.0 隨附有許多內置提供程序,包括:
•
針對本地 SQL Express 數據庫的 Microsoft SQL Server Express 提供程序。
•
針對成熟的 SQL Server 的 Microsoft SQL Server 2000/2005 提供程序。
•
針對 AD 或 ADAM 實(shí)現的活動(dòng)目錄提供程序。
•
綁定文件系統上 XML 文件的 XML 提供程序(用于站點(diǎn)導航)。
該模型的優(yōu)勢在于,如果您不喜歡隨附的現有提供程序,或者希望針對已經(jīng)使用的現有數據存儲集成這些 API,那么只需實(shí)現一個(gè)提供程序并將其插入模型即可。例如:您或許已經(jīng)有一個(gè)存儲用戶(hù)名/密碼的現有數據庫,或者一個(gè)需要集成的現有 LDAP 系統。只需將成員關(guān)系提供程序約定實(shí)現為一個(gè)類(lèi),并在應用程序的 web.config 文件中注冊(后文將詳細說(shuō)明),然后對 ASP.NET 中成員關(guān)系 API 的所有調用將委托給代碼。
返回頁(yè)首默認的 SQL Express 提供程序
坦白說(shuō),大多數 ASP.NET 2.0 應用程序服務(wù)均配置為使用內置的 SQL Express 提供程序。在第一次使用一個(gè)應用程序服務(wù)時(shí),該提供程序將自動(dòng)創(chuàng )建和提供一個(gè)新的數據庫,并提供一種非常簡(jiǎn)單的入門(mén)方法,而無(wú)需過(guò)多的安裝步驟(只要有 SQL Express 就可以進(jìn)行)。請注意,SQL Express 數據庫也可以升級為在成熟的 SQL Server 實(shí)例上下文中運行。因此,使用 SQL Express 進(jìn)行開(kāi)發(fā)的應用程序可輕松升級為高容量、集群的故障轉移安全 8P SQL 盒,與此同時(shí)所開(kāi)發(fā)的應用程序將邁向更大的成功。
如何將提供程序從使用 SQL Express 更改為使用 SQL Server?
如果要使用成熟的 SQL Server 2000 或 SQL Server 2005 數據庫實(shí)例(而不是 SQL Express),可按照以下步驟執行:
步驟 1:創(chuàng )建或獲取一個(gè)空白的 SQL 數據庫實(shí)例
步驟將創(chuàng )建或獲取一個(gè)連接字符串,該字符串指向一個(gè)空的標準 SQL 數據庫實(shí)例。
步驟 2:提供您的 SQL 數據庫和 ASP.NET 架構
在系統中打開(kāi)一個(gè)命令行窗口,并運行與 ASP.NET 2.0 一起安裝的 aspnet_regsql.exe 實(shí)用工具,該實(shí)用工具位于 C:\WINDOWS\Microsoft.NET\Framework\v2.0.xyz 目錄。
請注意,該實(shí)用工具可以在基于 GUI 的模式下運行,也可以與命令行開(kāi)關(guān)一起運行(添加一個(gè)“-?”標記即可查看所有開(kāi)關(guān)選項)。
通過(guò)這個(gè)向導,您能夠演練如何為 ASP.NET 2.0 隨附的內置 SQL 提供程序創(chuàng )建架構、表格和存儲過(guò)程。圖 1 至圖 5 展示循序漸進(jìn)的演練過(guò)程。
圖 1. SQL Server 安裝向導,歡迎屏幕
圖 2. SQL Server 安裝向導,配置應用程序服務(wù)
圖 3. SQL Server 安裝向導,選擇服務(wù)器和數據庫
圖 4. SQL Server 安裝向導,確認設置
圖 5. SQL Server 安裝向導完成
演練向導完成后,將安裝和配置所有支持應用程序服務(wù)的數據庫架構和存儲過(guò)程。(注:我們還提供了上述框架目錄下的原始 .sql 文件,如果 DBA 想要確切知道內部發(fā)生的事情,可以手動(dòng)演練和/或運行這些文件來(lái)安裝 DB。)
步驟 3:使 Web.config 文件指向新的 SQL 數據庫
現在,ASP.NET 2.0 支持 web.config 文件中一個(gè)名為 的新區段,它(顯然)用于存儲連接字符串。從管理角度看,好處之一是現在新的 ASP.NET MMC 管理單元可提供一種基于 GUI 的方式來(lái)配置和管理這些連接字符串(如圖 6 所示)。
圖 6. ASP.NET 管理頁(yè)面中的連接字符串
ASP.NET 2.0 現在還支持加密任何存儲在 web.config 文件中的區段,因此您可以安全地存儲私人數據(例如,連接字符串),而不必編寫(xiě)任何加密代碼。
ASP.NET 2.0 隨附有一個(gè)名為 LocalSqlServer 的內置連接字符串,默認情況下,它配置為使用 SQL Express 數據庫,以及成員關(guān)系、角色、個(gè)性化、配置文件和狀態(tài)監視等服務(wù)。
讓?xiě)贸绦蜃詣?dòng)利用新創(chuàng )建的 SQL 數據庫的最簡(jiǎn)單的方法是,在應用程序的本地 web.config 中,替換該 LocalSqlServer 設置的連接字符串值。
例如,如果我在本地計算機的 appservicesdb 數據庫實(shí)例中創(chuàng )建了數據庫,并使用 Windows 集成安全進(jìn)行連接,那么我將更改本地的 web.config 文件來(lái)指定這項操作。
<configuration><connectionStrings><remove name="LocalSqlServer"/><add name="LocalSqlServer"connectionString="Data Source=localhost;Initial Catalog=appservicesdb;Integrated Security=True"providerName="System.Data.SqlClient"/></connectionStrings></configuration>
單擊“保存”,現在所有的內置應用程序服務(wù)都會(huì )使用新創(chuàng )建和新定義的 SQL Server 數據庫。
注這種方法的一個(gè)缺點(diǎn)是,重用了 LocalSqlServer 連接字符串名 — 如果我在另一臺機器上部署數據庫,將感覺(jué)很別扭。如果想將它命名為自己的連接字符串名,只需添加一個(gè)全新的連接字符串,然后指定現有提供程序使用新的連接字符串名來(lái)代替默認的 LocalSqlServer 連接字符串。
返回頁(yè)首小結
雖然 ASP.NET 2.0 提供的應用程序服務(wù)默認使用 SQL Server 2005 Express,但是將其更改為使用 SQL Server 2000 或 2005 是一件相當簡(jiǎn)單的事情。一旦進(jìn)行更改,您就能夠享受這些數據庫引擎的功能所帶來(lái)的優(yōu)點(diǎn)了。
關(guān)于作者
Scott Guthrie 與他人共同組建了 ASP.NET 團隊,他領(lǐng)導的設計團隊負責產(chǎn)品的體系結構。他的個(gè)人貢獻包括:ASP.NET Web Forms Page Architecture、ASP.NET Web Services Infrastructure、ASP.NET Compilation System、ASP.NET Distributed Session State Infrastructure、ASP.NET Deployment Architecture、ASP.NET Reliability System 和 ASP.NET HTTP Runtime Architecture。在創(chuàng )建 ASP.NET 團隊之前,Scott 是 IIS 和 Windows NT 開(kāi)發(fā)團隊的成員。