質問: 私はEntity Framework 6を利用してローカルMySQLデータベースに接続するC#/ WPFアプリケーションを開発しました。アプリケーションは、ローカルコンピュータで実行しているときに完全に動作します。しかし、他のシステムにアプリケーションをインストールして実行すると、データベースにアクセスする必要があるときにクラッシュします。 例外をキャッチしてメッセージポップアップを作成すると、「値はnullにはできません。パラメータ名:ソース」というメッセージが表示されます。この投稿から、 Valueをnullにすることはできません。パラメータ名:source 、接続文字列が間違っている、またはリモートデータベースアクセスを許可するために何か正しく動作していないと思われます。 これはApp.configの接続文字列`connectionString="metadata=res://*/Database.csdl|res://*/Database.ssdl|res://*/Database.msl;provider=MySql.Data.MySqlClient;provider connection string="server=(ipAddress);user id=root;password=password;persistsecurityinfo=True;database=practice""` 私が使用しているIPアドレスは、cmd => ipconfig => IPv4から取得したローカルシステムの実際のIPアドレスです。 たくさんのグーグルとスタックのオーバーフローによる検索の後、私はまだこれに対する解決策を見つけていません。私は他のコンピュータにデータベースのローカルインスタンスを置いておきたいので、ローカルコンピュータ上にホストされているデータベースにすべてリモートで接続する必要があります。すべてのシステムが同じネットワーク上にあり、他のコンピュータからのローカルデータベースを使用してコンピュータにpingできるため、接続に問題があるとは思わない。 私は、次の文を使ってMySQLの他のコンピュータへのリモートアクセスを試みました: `CREATE USER '%'@'(IPADDRESS)' IDENTIFIED BY ''; GRANT ALL PRIVILEGES ON *.* TO '%'@'(IPADDRESS)' WITH GRANT OPTION;`また、この記事のAsafのソリューション( WPFアプリケーションは他のコンピュータでは動作しません )に続いて試してみました。しかし、どちらも私のために働かなかった。 誰もがC#/ WPFアプリケーションをMySQLデータベースにアクセスして公開する方法を説明できるなら、それは素晴らしいことです。 編集:例外を表示するコードをもっと編集した後、私はエラーが発生している "基本のプロバイダは、オープンに失敗しました。それを今見て。 編集:ソルヴェット!ありがとうございました。 'root'としてのリモート接続( mysqlへのリモート接続を許可する方法)を有効にし、特権をフラッシュし、MySQL Serverを再起動するために必要です。その後、アプリケーションが機能しました。
回答: Oblのおかげで、私は 'root'としてリモート接続を有効にすることで問題を解決しました( mysqlへのリモート接続を許可する方法 )。その後、特権をフラッシュしてMySQLサーバを再起動するだけでした。