ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf部署
Posted on 2005-12-02 01:26 Tony Qu 閱讀(1993) 評(píng)論(5) 編輯 收藏 引用 收藏至365Key 所屬分類: .NET 2.0 技術(shù) 、SQL Server 2005 、SD Channel
由于沒(méi)有aspnetdb.mdf數(shù)據(jù)庫(kù),因此得先建立一個(gè),這個(gè)可以通過(guò)aspnet_regsql.exe完成,該程序位于C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\下。運(yùn)行它之后會(huì)彈出 [圖1] 的窗口:

圖1
按"Next >"按鈕,進(jìn)入圖2

圖2
在圖2中,我們會(huì)發(fā)現(xiàn)除了有配置數(shù)據(jù)庫(kù)外,還有刪除數(shù)據(jù)庫(kù)的功能,以后說(shuō)不定可以派上用場(chǎng),現(xiàn)在自然選Configure SQL Server for application services,按"Next >"按鈕,進(jìn)入圖3。

圖3
現(xiàn)在進(jìn)入數(shù)據(jù)庫(kù)選擇界面,如果SQLSERVER就安裝在本地的話,可以不用改任何東西,直接按"Next >"。這里的Database顯示為<default>,表示默認(rèn)數(shù)據(jù)庫(kù)名為aspnetdb,你也可以根據(jù)自己的需要更改名稱。

圖4
最后進(jìn)入圖4,現(xiàn)在按"Next >"就可以開始安裝數(shù)據(jù)庫(kù)了,當(dāng)Finish按鈕亮起時(shí),表明數(shù)據(jù)庫(kù)安裝成功,一切順利!
接下來(lái)是設(shè)置數(shù)據(jù)庫(kù)連接字符串。
默認(rèn)情況下,web.config中的LocalSqlServer屬性是這樣配置的:
<add name="LocalSqlServer" connectionString="Data Source=./SQLExpress;Integrated Security=true;AttachDBFileName=|DataDirectory|aspnetdb.mdf;User Instance=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
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)
這表明連接根本無(wú)法建立。為此,我試圖把DataSource改為./本地sqlserver instance名,結(jié)果還是報(bào)錯(cuò):Login Failed for User MachineName\ASPNET
又試圖把User Instance設(shè)為false,再次報(bào)錯(cuò):
Invalid value for key ‘a(chǎn)ttachdbfilename‘.
其實(shí)出錯(cuò)原因很簡(jiǎn)單,因?yàn)锳pp_Data目錄下沒(méi)有aspnetdb.mdf這個(gè)文件。在網(wǎng)上查了一下,終于找到了解決方法,重新設(shè)置連接字符串為其實(shí)就是標(biāo)準(zhǔn)SqlServer連接字符串,郁悶……
參考資料:
http://weblogs./bsimser/archive/2005/11/20/431029.aspx?Pending=true