Mysqlをデータストレージとして使用するドットネット2.0ベースのC#製品があります。 XP/Win 7マシンにmysqlコネクタ6.3.6をインストールすると、問題なくC#コードからデータベースに接続できます。しかし、実際にはmysqlコネクタがマシンにインストールされていないのに、実行可能ファイルと同じディレクトリに存在するだけで、mysqlデータベースに接続しているときに問題が発生しています。私たちは、製品を稼動させたいすべてのマシンにコネクターをインストールしたくありません。私たちはコード内で任意のサードパーティのdll(例えばロガー)を使用する際に、connectory dllを直接使用したいと考えています。実際にコネクタをインストールせずに、C#経由でmysqlコネクタを使用してmysqlに接続する方法
mysql.data.dllをexeがインストールされているのと同じディレクトリにコピーしても、ビルドされますがデータベースに接続しません。
指定されたエラーは、要求された.NET Frameworkのデータプロバイダを見つけることができません
です。
- のMysql 5.0
- C#
- ドットネットフレームワーク2.0
- MySQLのコネクタ6.3.6(同じ問題が6.0版で発生します。これは BLOCKQUOTE
技術情報をインストールしなくてもよいですSQLコネクタの.3)
我々はASP.Netを使用している場合は、私たちはweb.configファイルに下記のタグを指定することができ、我々は直接binディレクトリ
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.0.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
にDLLを置くことによって、MySQLデータベースに接続することができます
デスクトップ環境のクライアントサーバーアプリケーションでC#で同じことを実行できないのはなぜですか。
本当にありがとうございます。
Kalpak
同じ設定をデスクトップアプリケーションの 'app.config'に入れますか? – Jon
私たちはapp.configに同じ設定をしませんでした。タグDBProviderFactoriesがapp.configで無効と思われる – Kalpak
この質問は、私に月前に頭痛の数時間を節約してくれたでしょう。すべての.Net Connectorインストールは(私が理解したところから)「MySQL Data Provider」エントリをmachine.configに追加します。私はインストーラを使用せず、単純にエントリを自分の設定に追加しました。私は離れて、.Net ProviderFactoriesを使って走っていました。 – IAbstract