Lightswitch RTMからWCF RIAサービスを介して既存のMySQL DBに接続しようとしています。Lightswitch + WCF RIA + MySQLコネクタ/ネットほとんど動作していますが、それほどではありません
私は次のようでした:
- は、私の開発マシン上でMySQLの開発者ゾーンからのMySQLコネクタバージョン6.3.7をインストールします。最新のバージョン6.4.3は動作していないようで、Visual Studio内から接続を確立するときに「サーバと同期が取れていません」というエラーが表示されます。
- 新しいデータ接続を作成し、MySQLデータベースをプロバイダとして選択し、MySQLサーバーのIPアドレス、ユーザー名とパスワードを入力して、Visual Studioからの接続をテストします。
これは動作し、DBが正しく表示されます。
は、それから私は、WCF RIAサービスを作成するために使用チュートリアルにhereを追っ:
- テンプレートWCF RIA Servicesのクラスライブラリに基づくソリューションに新しいプロジェクトを追加します。
ADO.NETエンティティデータモデルをWCF RIA Webプロジェクトに追加し、ウィザードを使用してそれをMySQLデータベースに接続します。生成された接続文字列は
metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=MySql.Data.MySqlClient;provider connection string="server=10.192.xx.yy;User Id=xxxxxxx;database=projet;password=xxxxxxxxxx;Persist Security Info=True"
です。ドメインサービスをWCF RIA Webプロジェクトに追加します。
これは正しく動作します。エンティティダイアグラムは、データベースの3つの選択されたテーブルをすべてのフィールドとともに表示します。
それから私は、このチュートリアルhere次LightSwitchのためにWCF RIAサービスを接続:を追加し、LightSwitchのプロジェクトで
- を新しいデータソースを作成し、
- WCF RIAサービスに添付WCF RIA Webプロジェクトを参照し、必要なデータソースオブジェクトを選択します。これが機能し、データソースオブジェクトが正しくインポートされます。
- 最後に、WCF RIA WebプロジェクトファイルApp.configからLightswitchプロジェクトのサーバー生成プロジェクトのweb.configファイルに接続文字列をコピーします。行は次のとおりです。
<add name="b70821ef-..." connectionString="metadata=res:///Model.csdl|res:///Model.ssdl|res://*/Model.msl;provider=MySql.Data.MySqlClient;provider connection string="server=10.192.xx.yy;User Id=xxxxxxx;database=projet;password=xxxxxxx;Persist Security Info=True"" providerName="System.Data.EntityClient"/>
ソリューションがエラーなしで構築することができます。ただし、Lightswitchアプリケーションを実行すると、MySQLテーブルの詳細画面に赤い十字が表示され、データをロードできないことが示されます。
web.configに貼り付けられた接続文字列が間違っていると思われます。
上記の方法で何が間違っているのか、または問題を特定してデバッグするにはどうすればよいですか?
+1、素敵なリンクでした。.. – Johan