c# MySQL接続

c#

会社でWindows7で開発しているMySQLアプリを家のWindows10で動作させようと以下のドライバをインストールしたがうまく入らない。結果メディアの内容が壊れていたようだ。
「mysql-connector-net-6.9.6.msi」

混乱の中、色々やっていたら以下がインストールされた。ドライバのインストールやり方が変わっている。
mysql-installer-community-8.0.15.0.msi
mysql-installer-web-community-8.0.15.0
mysql-connector-odbc-8.0.15-winx64

MySQL Installer 8.0.15

ドライバをUSBからインストールが既存のインストールの失敗なようなのでPC側にコピーして実行してみた。なんともはalreadyであると表示が・・・。探してもない。
結果、Connector NET 8.0に下位互換というか含まれるというか入っているということらしい(後に検証要)。
Visual Studio2010で作成した参照設定では「C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2」にMySQL.Dataは存在して参照できる。ただし現段階だと「using MySql.Data.MySqlClient;」のMySqlが赤色波アンダーライン。

Visual Studio 2017だと nugetで.netドライバを組み入れられる。参照先が何処だが追いかけたがすぐには分からない。しかし使用方法は2010と同じだった。コピペばかりしてるから最初の一歩をすっかり忘れている(焦る)。ソースコードは宝物だな。gitHubにすべて上げてもいいかとすら思う。Visual Studio 2017で作成されたものは2010で非互換で撥ねられる・・・。さてさてWindows10の64bitOSだからか?USBメモリのをインストールしたら以下の表示が出ていた。
つまり2010ではこの版は使用できないということで理解。
nugetのものとインストールで入れられたものは参照されるのだろうか?
すべてアンインストールしてからやってみることに。冒険と実験が開発の日々だからね!
●結果
installerなど含むすべてアンインストールしたが2017のプログラムで作成したものに影響なく動作した。nugetで組み入れられたものが有効なようだ。さて以下を再度インストール・・・。できない同じメッセージ

が出てくる・・・。どこにあるんだ。8.0がまだアンインストできていなかった・・・。
アンインストして6.9版をインストしようとすると今度はネットワークエラーか媒体エラーとでてインストールできない。旧版はその番号を入れて検索すると出てきた。

ダウロードしてインストしたらできた。そして何もなかったかのように2010のMySQLはビルドできていた。


●結論2
Visual Studio2017はnugetで対応する。2010はドライバで対応する。2010では8系は使えない。
※USBメモリ内のドライバは速攻で入れ替えた。

No tags for this post.
タイトルとURLをコピーしました