2

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

4

2 回答 2

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 文件(您可能还想在某处备份原始文件!)。在其中您会找到 web.config 文件SQL Express 连接字符串。将其更改为 SQL Server 字符串,然后重新组装 zip 文件。
最后一步是重建 VS 模板缓存 - 从命令行(VS 命令提示符可能效果最好),运行devenv /installvstemplates.有关详细信息,请参见此处

于 2010-06-03T16:19:58.697 回答
0

我只是有一个类似的问题。我在 VS 2008 中创建了一个网站,并想尝试 Web 部件。在页面中添加了一些,然后开始获取:

SQLExpress 数据库文件自动创建错误:

连接字符串使用应用程序 App_Data 目录中的数据库 >location 指定本地 Sql Server Express 实例。

我运行 aspnet_regsql.exe(向导,在 .Net 框架文件夹中)来创建数据库,然后我向 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>
于 2010-08-06T11:47:12.553 回答