2011-12-10 69 views
1

如何更改MVC3 Web應用程序以使用數據上下文的遠程服務器?我嘗試在web配置中更改連接字符串(並重新啓動所有內容),但仍使用本地SQL數據庫。MVC - 使用遠程SQL數據庫

編輯:我的連接字符串低於

<add name="ApplicationServices" connectionString="Data Source=zzz.database.windows.net;Initial Catalog=SMS;Persist Security Info=True;User ID=xyz;Password=abc" providerName="System.Data.SqlClient" /> 

編輯2:我嘗試註釋掉<connectionStrings>標籤內的一切。該網站仍然有效。我有點困惑,是否在其他地方設置了連接?

+0

發佈您的連接字符串。減去任何敏感的密碼信息。 –

+1

你知道它不能這樣做,除非....你沒有改變正確的網絡配置或...你的連接編碼到應用程序,而不是從配置讀取。 –

回答

1

如果您首先使用實體​​框架代碼(隨附asp.net mvc 3),那麼數據庫類的名稱將與連接字符串的名稱相對應。例如,如果您有這樣的類:

public class DataContext : System.Data.Entity.DbContext 
{ 
    [...] 
} 

連接字符串的名稱也應該是DataContext。更多信息here在第4步。

+0

感謝您的幫助! –

0

更改web.config中的連接字符串。因爲如果你使用的是SQL server連接字符串例子看起來是這樣的:

<add name="ApplicationServices" 
    connectionString="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;" 
    providerName="System.Data.SqlClient" /> 

其中Data Source點到遠程SQL服務器的名稱,Initial Catalog的數據庫的名稱來連接和User IdPassword似乎非常自我解釋。

現在很明顯,在你的代碼,你會某處使用ApplicationServices連接字符串,所以這取決於你使用的是什麼數據訪問或是否正在使用ORM可能有不同的地方尋找。因此,如果儘管在web.config中更改了連接字符串,您的代碼仍會使用本地數據庫,但很明顯,這是在您的代碼中的某處硬編碼的。