2016-12-06 4 views
0

エンティティフレームワークを使用してデータベースに接続するWindowsサービスベースのアプリケーションがあります。アクセスには以下の接続文字列を使用していましたが、正常に動作していました。すべての突然の例外 "キーワードユーザーIDがサポートされていない"をスローします。私はproviderNameを追加して、プロバイダなどを削除してもいろいろなオプションを試しましたが、まだ運はありません。これに関するガイダンスは非常に役立ちます。キーワードユーザーIDはサポートされていません

接続文字列:

"metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=\"Data Source=datasource;Initial Catalog=dbname;MultipleActiveResultSets=True;User ID=userid;Password=password;\" 

注:私は私のローカルマシンとテストから接続しようとすると、接続doesntのは、例外をスローするように見えます。

スタックトレース:12:

12/02 15 38.631 SubMessageType解析例外:ArgumentExceptionが:キーワードはサポートされていません: 'ユーザーID'。 12/02 15:12:39.224 System.Data.EntityClient.DbConnectionOptions.ParseInternal(ハッシュテーブルparsetable、文字列れたconnectionString、ハッシュテーブル同義語) でSystem.Data.EntityClient.DbConnectionOptions..ctor(文字列れたconnectionString、ハッシュテーブル同義語) ででSystem.Data.EntityClient.EntityConnection.ChangeConnectionString(文字列newConnectionString)System.Data.Objects.ObjectContext..ctor(文字列れたconnectionString、文字列defaultContainerName)で ..コードの参照が

は更新:追加の引用符があったことそれが問題を引き起こしていたことがわかりました。私が引用符を"に変更したときに気付きました。助けてくれてありがとう。

+0

をすることができます[編集]フルスタックトレースが含まれていますか? – DavidG

+0

@DavidG「あなたの質問を編集してみましょう」のようなリンクにする必要があります; P –

+0

@MatíasFidemraizer残念ながら、それはちょうどオートリンクが私たちに与えるものです! – DavidG

答えて

0

接続文字列の途中でエスケープされた二重引用符が問題の可能性があります。

変更"のものと、それが動作するはずです:

"metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=datasource;Initial Catalog=dbname;MultipleActiveResultSets=True;User ID=userid;Password=password;"" 
+0

サポートされていないキーワード: 'データソース'は例外です。 –

+0

こんにちは、これもうまくいきましたが、接続を行う前に文字列をデコードする必要がありました –

関連する問題