2011-12-21 17 views
5

我試圖將一個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

回答

6

可能錯誤從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

5

不要忘記先清除的ConnectionStrings:

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