MySql for Visual Studio 2017は駄目なのか?:型付きデータセットが作れない:未解決篇
残念ながら、一日をムダにしてしまいました。
症状は、Visual Studio 2017 でMySqlに接続するアプリを作るのに、「データソース構成ウィザード」でデータセットを作ろうとすると、失敗します。
ネットで調べる解決法も結構試したのですが、改善せず。
駄目だった環境
Windows10 Pro 64bit (18.03)
Visual Studio Community 2017 (15.7.5)
MySql for Visual Studio (2.0.5 or 1.2.8)
MySql Connector .Net (8.0.11 or 6.10.7 or 6.9.12)
MySql (5.7.22)はHyper-V上のubuntu18.04 にある
やったこと
VisualStudioのサーバーエクスプローラーから、データ接続>OK
同じく、テーブルのデータ取得>OK
「新しいデータソースの追加」からデータセットを作成しようとすると、テーブル情報は読めて、選べるのに、
更新コマンドの一部を生成できませんでした。データベースは次のエラーを返しました:予期しないエラーです
Some updated commands could not be generated automatically. The Database returned the following error: Unexpected Error
となって失敗します。ググる人のために相当の英文メッセージも入れておきます。
空のデータセットを作って、追加>TableAdapterとやり、TableAdapter 構成ウィザードを進めても、クエリビルダーでデータは取れるのに、
オブジェクト参照がオブジェクトインスタンスに設定されていません。
System.NullReferenceException
なる、よく分からない日本語メッセージでこれも失敗します。
C#のプロジェクトで、Entity Frameworkでもやってみましたが、これも失敗しました。
ほぼクリーン環境のノート(18.03にアップグレードしたばかり)から、Visual Studio Community 2017 (15.7.5) MySql for Visual Studio (1.2.8) MySql Connector .Net (8.0.11)の組み合わせで新規インストールして試しましたが、これも失敗でした。私としてはクリーン環境で失敗したので、サーバー側の接続に問題があるのか?とも思ったのですが、どうも解決しません。
ネット情報をまとめると
・MySql Connector .Net 6.9.9はバグがあるから、6.9.8に戻せ
・クリーンインストールで解決した
・MySql のinformation_schemaを読む権限がないのでは
などありますが、どれも外れでした(一番上は手に入らないのでしてない)
暫定対策
前はできていたと思ったので、古い環境のファイルを出してきましたら、なんと成功しました。
Visual Studio 2010 Pro
MySql for Visual Studio (1.1.4)
マシンは同じなので、OSやHyper-V上のMySqlサーバーは変化ないです。使い慣れた昔の環境で開発しろということなのでしょうか?dotNetFrameWorkは4.0までしか対応しませんし、前述のVisualStudio2017環境と共存できないです。(VisualStudio自体はできる)
さて、どうしたものか。。。