2011-11-14 10 views
2

対象:データベースにユーザーを作成するwcfメソッドが必要です。WCFサービスのメンバーシッププロバイダを使用した接続文字列エラー

メンバーシッププロバイダを使用しています。私のクライアントはSmartPhone /モバイルデバイスです。

メソッドをテストするときにユーザーを作成するメソッドを作成しましたが、次のエラーが発生します。

エラー:System.Data.SqlClient.SqlConnectionオブジェクトを初期化中にエラーが発生しました

。接続文字列に指定された値が間違っているか、無効な構文が含まれている可能性があります。 パラメータ名:

そして、私は次の行に、このエラーが出るのConnectionString:私は、データベースからデータを読み取るために使用するのと同じたconnectionStringを使用しています

Membership.CreateUser(name, password,email,"question","answer",true,out createStatus); 

私の接続文字列は次のとおりです。

<add name="MajangoEntities" connectionString="metadata=res://*/EntityModel.MajangoEntityModel.csdl|res://*/EntityModel.MajangoEntityModel.ssdl|res://*/EntityModel.MajangoEntityModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=tcp:sql2k298.discountasp.net;initial catalog=SQL2008R2_835021_myddb;user id=SQL2008R2_835021_mydb_user;password=mypassword;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

誰もがいくつかのアイデアで私を助けることはできますか?

答えて

7

この接続文字列には、Entity Framework固有のデータが含まれています。代わりに、その中に埋め込まれただけで、「プロバイダの接続文字列」を試してみてください。

<add name="MajangoEntities" connectionString="data source=tcp:sql2k298.discountasp.net;initial catalog=SQL2008R2_835021_myddb;user id=SQL2008R2_835021_mydb_user;password=mypassword;multipleactiveresultsets=True;App=EntityFramework"> 

そこでのデータの残りの部分(メタデータ等)は単に混乱SQL Serverです。

+0

こんにちは、ありがとうございます。私はあなたが提案したことをしました。今私は別のエラーが発生します。エラー:「指定された名前付き接続が構成で見つからないか、EntityClientプロバイダーで使用されないか、有効ではありません」。そしてそれはentitymodel.designerファイルから来ます。 – kandroid

+0

ああ、OK - 2つの接続文字列が必要です。この行を、既存の "MajangoEntities"文字列の隣に、別の名前で複製してみてください。次に、あなたの ''セクションで、プロバイダが 'connectionStringName'属性でこの新しい接続文字列の名前を参照していることを確認してください。 –

+0

それは問題を解決します。 :)しかし、2つのconnectionStringを使用することをお勧めしますか?最初の接続文字列が十分でない理由について少し説明することができれば、大きな助けになるでしょう。 – kandroid

関連する問題