接続の頻度があまり高くないスマート デバイス アプリケーションの作成
はじめまして。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している箇所に上記引数を渡してあげたらいいような気がしたので、そう思っているのですが、
全く見当違いかもしれません・・・。
どのようにすればデータ同期が可能になるか、どなたかご教示いただけますでしょうか?
お手数ですが、どうぞよろしくお願いいたします。- 移動高橋 忍MSFT, モデレータ2009年5月19日 6:59 ([Loc]From:Windows Mobile フォーラム)
回答
- 日本語のMSDNのサイトはなぜか内容が省略されていますね。
こちらを参照してください。
http://msdn.microsoft.com/en-us/library/cc488004.aspx
マイクロソフト エバンジェリスト 高橋 忍- 回答の候補に設定高橋 忍MSFT, モデレータ2009年3月26日 5:47
- 回答としてマーク高橋 忍MSFT, モデレータ2009年3月26日 5:47
- 回答の候補に設定高橋 忍MSFT, モデレータ2009年3月26日 5:47
- 回答の候補の設定解除高橋 忍MSFT, モデレータ2009年3月26日 5:47
- 回答としてマークされていない高橋 忍MSFT, モデレータ2009年3月26日 5:47
- 回答としてマーク大久保直美MSFT2009年4月2日 2:56
すべての返信
- 日本語のMSDNのサイトはなぜか内容が省略されていますね。
こちらを参照してください。
http://msdn.microsoft.com/en-us/library/cc488004.aspx
マイクロソフト エバンジェリスト 高橋 忍- 回答の候補に設定高橋 忍MSFT, モデレータ2009年3月26日 5:47
- 回答としてマーク高橋 忍MSFT, モデレータ2009年3月26日 5:47
- 回答の候補に設定高橋 忍MSFT, モデレータ2009年3月26日 5:47
- 回答の候補の設定解除高橋 忍MSFT, モデレータ2009年3月26日 5:47
- 回答としてマークされていない高橋 忍MSFT, モデレータ2009年3月26日 5:47
- 回答としてマーク大久保直美MSFT2009年4月2日 2:56
- こんにちは、フォーラムオペレータ大久保です。
mae-hiro さん、フォーラムのご利用ありがとうございます。
高橋がご紹介しました資料ですが、ごらんいただきましたでしょうか?
英語でお困りの際はお声をおかけいただければと思います。(私ではないですが)フォーラムオペレータには、英語が得意な人間もいますので。
勝手ながら、高橋の投稿を「回答としてマーク」させていただきました。
また何かございましたら MSDN フォーラムをご利用ください。
マイクロソフト株式会社 フォーラム オペレータ 大久保 直美 - 高橋さま
ご回答ありがとうございました。返信がおそくなり、大変申し訳ありませんでした。
結局データ同期は、デバイスからPC側のDBのデータを取得して(SQL文でSELECTして)
デバイス側のDBにデータを書き込む(SQL文でINSERTする)という激しく原始的な対応で
解決してしまいました。(レスポンス的にはあまり解決とはいえませんでしたが・・・)
機能修正および追加時に、ご教授いただいた方法で対応してみたいと思います。
ありがとうございました。


