2009-02-24 15 views
7

सिंक्रनाइज़ करने के लिए एमएस सिंक फ्रेमवर्क का उपयोग कर मैं बस माइक्रोसॉफ्ट सिंक फ्रेमवर्क में काम कर रहा हूं। SqlSyncAdapterBuilder और SqlServerChangeTracking का उपयोग कर एक दूरस्थ SQL Server 2008 के साथ स्थानीय SQL CE 3.5 डेटाबेस को सिंक करना बहुत आसान लगता है।दो एसक्यूएल सीई डीबीएस

दुर्भाग्यवश, दो एसक्यूएल सीई 3.5 डेटाबेस को सिंक करना इतना आसान नहीं दिखता है ...
दस्तावेज़ीकरण बहुत ही दुर्लभ है, और मुझे वास्तव में यह नहीं पता कि यहां कैसे शुरुआत करें।

मेरे ठोस परिदृश्य ऐसा दिखाई देता है:

  • मैं एक केंद्रीय एसक्यूएल सर्वर 2008
  • एकाधिक ग्राहकों को इस सर्वर (उनमें से कुछ केवल आंशिक रूप से) से जुड़े रहे हैं।
  • वे (आंशिक रूप से जुड़े हुए) क्लाइंट एक ही डेटा बेस पर काम कर रहे कई अनुप्रयोगों (शायद समवर्ती रूप से चल रहे) का उपयोग कर रहे हैं।

केंद्रीय सर्वर के साथ क्लाइंट को समन्वयित करना कोई समस्या नहीं होनी चाहिए। ऑफ़लाइन-क्लाइंट पर एकाधिक अनुप्रयोगों को सिंक करना वह है जहां मैंने एकाधिक SQL CE डेटाबेस (सर्वर के रूप में एक, और प्रत्येक एप्लिकेशन-इंस्टेंस के लिए एक) का उपयोग करने का विचार किया है। सर्वर के साथ क्लाइंट को सिंक करते समय और क्लाइंट पर एकाधिक अनुप्रयोगों को सिंक करते समय भी मैं वास्तव में एक ही संघर्ष-समाधान तंत्र का उपयोग करने में सक्षम होने की सराहना करता हूं। प्रत्येक क्लाइंट पर एक SQL Server 2008 एक्सप्रेस स्थापित करना कोई नहीं है।

क्या किसी को दो SQL सीई डेटाबेस समन्वयित करने के साथ कुछ अनुभव है?

उत्तर

5

Sync Framework 2.0 SQL सर्वर कॉम्पैक्ट संस्करण डेटाबेस के बीच सिंक्रनाइज़ेशन की अनुमति देता है।

SqlCeSyncProvider सिंक्रनाइज़ एसक्यूएल सर्वर कॉम्पैक्ट डेटाबेस के लिए प्रयोग किया जाता है।

इस प्रदाता किया जा सकता है एक केंद्रीय सर्वर के साथ सिंक्रनाइज़ लेकिन भी अन्य ग्राहकों, जो SqlCeClientSyncProvider साथ संभव नहीं है के साथ सिंक्रनाइज़ करने की क्षमता है। यह क्षमता को सहयोग परिदृश्य जैसे नए परिदृश्यों को लक्षित करने में सक्षम बनाता है जिसमें टीम लोगों को के बीच एक केंद्रीय सर्वर से कनेक्शन की अनुपस्थिति में सिंक्रनाइज़ करने की आवश्यकता होती है।

1

सभी ado.net syncs को क्लाइंट प्रदाता और सर्वर प्रदाता की आवश्यकता होती है।

अफसोस की बात है कि, एसक्यूएलसी सर्वर फ्रेमवर्क के वर्तमान संस्करण के साथ बॉक्स से सिंकप्रोवाइडर नहीं है। इसका मतलब यह है कि आपको DBServerSyncProvider को उपclass करना है और एक SqlCe क्लाइंट सिंकप्रोवाइडर को लपेटना है।

एसक्यूएल एक्सप्रेस के साथ इसे कैसे करें इसके उदाहरण के लिए this article देखें।

यह वही अवधारणा है, बस आप SqlCeClientProvider को लपेटेंगे। अच्छी खबर यह है कि रैपिंग आसान हो सकती है।

शुभकामनाएं!

संबंधित मुद्दे