我遇到了问题。当我使用VS 2010在ASP.NET中创建新项目时,它是带有关于SQL Express创建的默认连接字符串的web.config。但我还没有安装SQL Express。我该怎么做才能更改默认的AspNetSqlProvider以使用我的全权重SQL Server实例作为服务数据库?如何更改ASP.NET项目的模板以使用我的连接创建项目?
答案 0 :(得分: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" />
其中DatabaseName是可能是 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文件的副本(您可能还想在某处备份原始文件!)。
在其中,您将找到带有SQL Express连接字符串的web.config文件。将其更改为SQL Server字符串,然后重新组合zip文件
最后一步是重建VS模板缓存 - 从命令行(VS命令提示符可能效果最好),运行devenv /installvstemplates
。有关详细信息,请参阅here。
答案 1 :(得分:0)
我遇到了类似的问题。我有一个在VS 2008中创建的网站,想要尝试Web部件。在页面中添加了一些,然后开始获取:
SQLExpress数据库文件自动创建错误:
连接字符串使用应用程序App_Data目录中的数据库&gt;位置指定本地Sql Server Express实例。
我运行了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>
然后我将其添加到web.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>