ASP.NET Sql Provider

时间:2010-06-03 15:26:40

标签: asp.net sql sql-server-2008 dbconnection

我遇到了问题。当我使用VS 2010在ASP.NET中创建新项目时,它是带有关于SQL Express创建的默认连接字符串的web.config。但我还没有安装SQL Express。我该怎么做才能更改默认的AspNetSqlProvider以使用我的全权重SQL Server实例作为服务数据库?如何更改ASP.NET项目的模板以使用我的连接创建项目?

2 个答案:

答案 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>