“连接字符串指定本地Sql Server Express实例”,但它不是

问题描述:

我试图将一个asp.net应用程序部署到使用ApplicationServices成员资格数据库的SQL Server实例的服务器。“连接字符串指定本地Sql Server Express实例”,但它不是

的问题是,我收到说

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

当我最初试图与应用程序部署aspnetdb.mdf本身我得到这个错误的错误。

我得到这个错误,当我然后取消该计划,并决定做一个web.config变换,以便在调试我使用Express数据库,但在释放连接字符串转到SQL Server。

当我决定出于好奇从代码中删除所有对快速数据库的引用时,我再次得到了这个错误,因此可能没有任何可能的方法查找Express数据库。没有运气。

有没有人有任何想法呢?我每次都删除并重新安装了IIS中的网站,注意到没有部署App_Data,也没有提到web.config中的.mdf文件 - 无济于事。它仍然认为有一个连接字符串告诉它寻找一个SQL Server Express数据库:/

编辑:这是我使用的连接字符串。我认为很标准,但我总是会错的。

Data source=HERP;Initial Catalog=DERP;Integrated Security=True 
+0

你能后的连接字符串? – 2011-12-21 22:02:16

+2

你能告诉我们你的web.config吗?你可以将任何敏感的东西都打出来。 – 2011-12-21 22:05:17

+0

您应该添加web.config(搜索'data source =')的任何连接字符串以及生成错误的代码部分 – Andomar 2011-12-21 22:23:35

可能错误从machine.config文件(LocalSqlServer之一)指的是默认的连接字符串?这种情况可能是,考虑到default membership provider uses this connection string

The following default membership element is configured in the Machine.config file [...]:

<membership>
<providers>
<add name="AspNetSqlMembershipProvider" [...]
connectionStringName="LocalSqlServer" [...]

+0

非常感谢你 - 这显然是连接字符串它正在寻找。我能够通过简单地将machine.config连接字符串指定为我想要的SQL Server连接字符串(上面提到的)来使用hacky立即修复,但是您是否知道解决此问题的标准/非哈希方法,以便使用我的连接字符串而不是LocalSqlServer吗?再次感谢,这是一个巨大的帮助。 – Whisker 2011-12-22 16:13:02

+0

您可以在自己的'web.config'中覆盖'machine.config'中的任何内容。请参阅http://msdn.microsoft.com/en-us/library/aa479307.aspx#configaspnet_sql_topic2:“使应用程序自动利用新创建的SQL数据库的最简单方法是仅替换此连接字符串值LocalSqlServer设置在你的应用的本地web.config.' – 2011-12-22 17:57:43

+0

这帮助我找出了我的问题,以及..工作正常在一台机器,但没有其他,但他们有相同的连接字符串。变成网页。config缺少节点。 – lambinator 2012-05-16 19:13:56

不要忘记先清除的ConnectionStrings:

<connectionStrings> 
    <clear /> 
    <add name="LocalSqlServer" connectionString="Data Source=(local);Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient"/> 
</connectionStrings>