2012-02-28 4 views
1

Simple.Data(1.0.0-beta2)の最新バージョンでは、MySqlをデータベース(バージョン5.5.2.1)として使用しています。最新のMySql.Dataアセンブリをプロバイダとして使用してデータベースに接続しています。Simple.Data with MySql - データベース接続を開く際に「複数のADOプロバイダが見つかりました」という例外があります

次のコードでローカルMySqlデータベースへの接続を開こうとすると、「複数のADOプロバイダが見つかりました;プロバイダ名を指定するか、不要なアセンブリを削除します」という例外が表示されます。

public class MyEntityRepository : IMyEntityRepository 
{ 
    public MyEntity GetById(int id) 
    { 
     var db = Database.OpenConnection("Server=localhost;Port=3306;Database=myDatabase;Uid=root;Pwd=test; provider=MySql.Data"); 

     ... 
    } 
} 

私のプロジェクト/アセンブリで唯一のアセンブリの参照は、以下の通りである:

  • mysql.data
  • Simple.Data
  • Simple.Data.Ado
  • Simple.Data。 MySql.Mysql40

このエラーはなぜ発生しますか?

答えて

0

binフォルダに他のSimple.Dataアセンブリがありますか?おそらく、以前の参照から残っていますか?

それ以外の場合は、providerNameおよびname属性を指定してconfigのconnectionsセクションに接続を追加してください。 OpenNamedConnectionを使用します。

+0

plain.oldのコンソールアプリケーションでSimple.Dataを使用してもエラーは表示されませんが、MVC Webプロジェクトでは動作しないようです。私は今夜​​さらに調査をするつもりです。 – contactmatt

+0

私のウェブサイトプロジェクトでは、mysqlデータプロバイダへの参照がありました。しかし、私は "永続性"プロジェクトも参照していましたが、それ自体がmysqlデータプロバイダへの参照を持っていました。 Webサイトプロジェクトからmysqlプロバイダへの参照を削除すると、問題が解決されたようです。 – contactmatt

関連する問題