2009-03-28 20 views
5

共有サーバーでASP.NET MVCを実行していて、System.Data.EntityClient経由でSQLに接続する際に問題が発生しています。以下は、私のホスティングプロバイダがSQLに接続するための接続文字列と、VSが開発中にローカルマシン用に設定した接続文字列です。サーバーに展開すると、接続文字列はどのように見えますか?私のホスティングプロバイダからASP.NET System.Data.EntityClient接続文字列ヘルプ

<add name="WeddingsDBEntities" 
    connectionString="data Source=<server name>; Initial Catalog=<db name>; User ID=<user ID>; Password=<password>;" 
    providerName="System.Data.EntityClient"/> 

VSから(開発中):

connectionString="metadata=res://*/Models.WeddingsModel.csdl|res://*/Models.WeddingsModel.ssdl|res://*/Models.WeddingsModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WeddingsDB.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" 

ありがとう!

答えて

7

あなたは

<add name="Name" 
    connectionString="metadata=<Conceptual Model>|<Store Model>|<Mapping Model>; 
    provider=<Underlying Connection Provider>; 
    provider connection string=&quot;<Underlying ConnectionString>&quot;" 
    providerName="System.Data.EntityClient"/> 

代わりの形式であるエンティティの接続文字列instide接続文字列をラップする必要があります。

<add name="WeddingsDBEntities" 
    connectionString="data Source=<server name>; Initial Catalog=<db name>; User ID=<user ID>; Password=<password>;" 
    providerName="System.Data.EntityClient"/> 

この使用:

<add name="WeddingsDBEntities" 
    connectionString="metadata=res://*/Models.WeddingsModel.csdl|res://*/Models.WeddingsModel.ssdl|res://*/Models.WeddingsModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data Source=<server name>; Initial Catalog=<db name>; User ID=<user ID>; Password=<password>;MultipleActiveResultSets=True&quot;" 
    providerName="System.Data.EntityClient"/> 
+0

感謝します。これでうまくいきましたが、現在はエラー500が表示されています - 「探しているリソースに問題があり、表示できません。」 res://パスに何か問題がありますか?なぜ彼らは '* /'で始まるのですか? – Birdman

+0

データソース、dbname、userid、およびパスワードを置き換えましたか? – bendewey

+0

MultipleResultSets = trueと表示されるプロバイダ接続文字列の最後の部分を削除してみます。 – bendewey

0

providerをentityclientからsqlclientに変更します(最初のEFコードを仮定)。

providerNameで= "System.Data.EntityClient" />

providerNameで= "System.Data.SqlClientの" />