2011-08-08 13 views
0

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に貼り付けられた接続文字列が間違っていると思われます。

上記の方法で何が間違っているのか、または問題を特定してデバッグするにはどうすればよいですか?

答えて