2011-12-10 10 views
1

MVC3 Webアプリケーションを変更して、データ・コンテキストにリモート・サーバーを使用するにはどうすればよいですか?私は、Web設定で(そしてすべてを再起動して)接続文字列を変更しようとしましたが、まだローカルのSQLデータベースを使用しています。MVC - リモートSQLデータベースを使用

編集:私の接続文字列が編集2

<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" /> 

を下回っている:私は <connectionStrings>タグ内のすべてをコメントアウトしてみました。サイトはまだ動作します。私は少し混乱している、接続は別の場所に設定されていますか?

+0

接続文字列をポストします。重要なパスワード情報を除外します。 –

+1

あなたは正しいWeb設定を変更していないか...あなたの接続がアプリにコード化されていて、設定から読み込まれない限り、それはできません。 –

答えて

1

最初にEntity Frameworkコード(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" /> 

リモートSQLサーバーの名前にData Sourceポイントは、データベースのInitial Catalog名前はに接続し、User IdPasswordはかなり思えるところ自己説明的。

明らかにあなたのコードでは、接続文字列のどこかにApplicationServicesという接続文字列を使用します。したがって、どのデータアクセスを使用しているか、ORMを使用しているかによって、探し出す場所が異なる場合があります。したがって、web.configの接続文字列を変更しても、コードは引き続きローカルデータベースを使用しますが、コード内のどこかにハードコードされていることは明らかです。

関連する問題