2010-06-03 46 views
2

我遇到了問題。當我使用VS 2010在ASP.NET中創建新項目時,它的web.config中包含有關創建的SQL Express的默認連接字符串。但我甚至沒有安裝SQL Express。我該怎麼做才能將默認的AspNetSqlProvider作爲服務數據庫與我的全重量SQL Server實例一起使用?我怎樣才能改變ASP.NET項目的模板來創建一個項目與我的連接?ASP.NET Sql Provider

回答

5

你的意思是這樣:
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />

要變成一個會使用SQL Server這一點,它需要看起來更像是這樣的:
<add name="ApplicationServices" connectionString="data source=ServerName;Initial Catalog=DatabaseName" providerName="System.Data.SqlClient" />
其中數據庫名稱是可能 ASPNETDB。無論您使用Windows身份驗證(在這種情況下,您可以複製原始連接字符串中的Integrated Security元素)或SQL Server身份驗證(您將擁有用戶名/密碼組合),它都需要某種形式的身份驗證。
關於建築連接字符串有很大的信息在connectionstrings.com

要解決您的未來項目,您需要更改Web項目的模板。找到保存C#Web模板的文件夾(對於我來說,這是C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033
取一份WebApplicationProject40.zip文件(您可能還想在某個地方備份原始文件!)。 在裏面你會發現網頁.config文件與SQL Express連接字符串相關聯,將其更改爲SQL Server字符串,然後重新組裝zip文件
最後一步是重建VS模板緩存 - 從命令行(VS命令提示符可能。效果最好),運行devenv /installvstemplateshere的細節

+0

感謝一堆節省時間,我會通過互聯網挖掘這些信息。 它完美的作品。 – Proton 2010-06-03 17:15:00

+0

connectionstrings.com總是非常有用! – 2010-08-06 11:49:23

0

我也有類似的問題,我在VS 2008中創建了一個網站,並想嘗試Web部件增加了一些到一個頁面,然後開始越來越:

SQLExpress database file auto-creation error:

The connection string specifies a local Sql Server Express instance using a database >location within the applications App_Data directory.

我跑aspnet_regsql.exe的(嚮導,.NET Framework中的文件夾)來創建數據庫,然後我加了一個連接字符串的web.config:

<configuration> 
    <connectionStrings> 
     <add name="aspnet_membership" connectionString="Data Source=localhost; Initial Catalog=aspnetdb; Integrated Security=SSPI;"/> 
    </connectionStrings> 
</configuration> 

然後我說這網.config:

<configuration> 
    <system.web> 
    <webParts> 
     <personalization defaultProvider="SqlPersonalizationProvider"> 
     <providers> 
      <add name="SqlPersonalizationProvider" 
      type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider" 
      connectionStringName="aspnet_membership" 
      applicationName="/" /> 
     </providers> 
     <authorization> 
      <deny users="*" verbs="enterSharedScope" /> 
      <allow users="*" verbs="modifyState" /> 
     </authorization> 
     </personalization> 
    </webParts> 
    </system.web> 
</configuration>