Windows Mobile デベロッパー センター > Windows Mobile 向けアプリケーション開発 フォーラム > Windows Mobile – .NET Compact Framework (VB, C#) > 接続の頻度があまり高くないスマート デバイス アプリケーションの作成
質問する質問する
 

回答済み接続の頻度があまり高くないスマート デバイス アプリケーションの作成

  • 2009年3月9日 12:05mae-hiro ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     

    はじめまして。mae-hiroと申します。

    Active Syncを利用して、PCのSQL ServerとスマートデバイスのSQL Serverのデータの同期を図る
    アプリケーションの開発を行っています。

    msdnのチュートリアルに、まさにやりたいことが書いてありましたので、それを参考にしているのですが、
    同期処理のところでエラーが発生し、同期処理が上手くいきません。
    「接続の頻度があまり高くないスマート デバイス アプリケーションの作成」
    http://msdn.microsoft.com/ja-jp/library/cc488004.aspx

    [環境]
    言語:Visual Studio 2008 SP1 VB
    PC側OS:Windows XP Pro SP3
    PC側DB:SQL Server 2005 Express Edition
    デバイス側OS:Windows Mobile 6.1 Classic (Sharp RZ-H220)
    デバイス側DB:SQL Server Compact 3.5

    ※PCに以下もインストールしています。
    ・Microsoft Synchronization Services for ADO.NET V1 SP1 (Devices)
    ・Microsoft SQL Server Compact 3.5 for Devices SP1

    デバイス上の同期ボタンをクリックした時の処理が、チュートリアル上に掲載されていなかったので、
    msdn上いろいろと調べてみて、以下の処理を追加すればいいのかな?というのはわかったのですが、

    ---------------------------------------------------------------------------------------------------------------------
    Dim
    syncAgent As NorthWindCacheSyncAgent= New NorthWindCacheSyncAgent()
    Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize()
    ---------------------------------------------------------------------------------------------------------------------

    SyncAgent.Synchronize()でエラーになります。
    原因は、SyncAgentのremoteProviderがNothingのためだと考えています。

    SyncAgent を New するタイミングで、remoteSyncProviderProxyを引数として渡してあげると、
    remoteProviderが設定されて、処理が実行されるのかな?と思っているのですが、
    肝心の引数として渡す「remoteSyncProviderProxy」に何を設定すればよいのかわかりません。
    ※自動生成されたNorthWindCache.Client.Designer.vbのNorthWindCacheSyncAgentクラスで
     Newしている箇所に上記引数を渡してあげたらいいような気がしたので、そう思っているのですが、
     全く見当違いかもしれません・・・。

    どのようにすればデータ同期が可能になるか、どなたかご教示いただけますでしょうか?
    お手数ですが、どうぞよろしくお願いいたします。

回答

すべての返信

  • 2009年3月22日 15:25高橋 忍MSFT, モデレータユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     回答済み
     日本語のMSDNのサイトはなぜか内容が省略されていますね。
    こちらを参照してください。

    http://msdn.microsoft.com/en-us/library/cc488004.aspx

    マイクロソフト エバンジェリスト 高橋 忍
  • 2009年4月2日 2:56大久保直美MSFTユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    こんにちは、フォーラムオペレータ大久保です。

    mae-hiro さん、フォーラムのご利用ありがとうございます。
    高橋がご紹介しました資料ですが、ごらんいただきましたでしょうか?
    英語でお困りの際はお声をおかけいただければと思います。(私ではないですが)フォーラムオペレータには、英語が得意な人間もいますので。

    勝手ながら、高橋の投稿を「回答としてマーク」させていただきました。
    また何かございましたら MSDN フォーラムをご利用ください。
    マイクロソフト株式会社 フォーラム オペレータ 大久保 直美
  • 2009年4月27日 11:33mae-hiro ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    高橋さま

    ご回答ありがとうございました。返信がおそくなり、大変申し訳ありませんでした。

    結局データ同期は、デバイスからPC側のDBのデータを取得して(SQL文でSELECTして)
    デバイス側のDBにデータを書き込む(SQL文でINSERTする)という激しく原始的な対応で
    解決してしまいました。(レスポンス的にはあまり解決とはいえませんでしたが・・・)

    機能修正および追加時に、ご教授いただいた方法で対応してみたいと思います。

    ありがとうございました。