2009-10-08 15 views
5

में थोक सम्मिलन मैं SQL सर्वर सीई में नया हूं और विजुअल स्टूडियो 2008, एसक्यूएल सर्वर सीई 3.5 का उपयोग कर रहा हूं। मैं जानना चाहता हूं कि SQL सर्वर सीई डेटाबेस में थोक रिकॉर्ड डालने का सबसे अच्छा तरीका क्या है? क्या SQL Server CE के लिए BULK INSERT कथन कार्य करता है? मेरे पास लगभग 45 टेबल हैं और इनमें से कुछ तालिकाओं में बड़ी मात्रा में डेटा होना चाहिए। command.Prepare का उपयोग करना पर्याप्त है या क्या अधिक कुशल और तेज़ तरीका है?एसक्यूएल सर्वर सीई

उत्तर

13

एसक्यूएल सीई में थोक सम्मिलन कमांड नहीं है। TableDirectSqlCeCommand का उपयोग कर एक अद्यतन करने योग्य SqlCeResultset खोलने के लिए सबसे अच्छा कच्चा प्रदर्शन खोलने के लिए आपकी सबसे तेज़ शर्त है। यह क्वेरी प्रोसेसर को पूरी तरह से बाईपास करता है, और वास्तव में एक पाठ फ़ाइल को सीधे लिखने के रूप में तेज़ है।

+0

तरह की हास्यास्पद है कि हालांकि, क्योंकि MSDN डॉक्स राज्य है कि TableDirect केवल द्वारा इस्तेमाल किया जा माना जाता है ओएलडीडीबी प्रदाताओं। जैसा कि मैंने कहा है, जैसा कि मैं करता हूं ... "टेबल डायरेक्ट केवल ओएलई डीबी के लिए .NET Framework डेटा प्रदाता द्वारा समर्थित है" –

+3

मुझे लगता है कि मुझे खुशी है कि मैंने कभी दस्तावेज़ नहीं पढ़े। :) – ctacke

+0

क्षमा करें बेवकूफ सवाल - कोई विचार अगर यह एमएस द्वारा समर्थित परिदृश्य होगा? यह काफी दिलचस्प लगता है, मैं बस उस स्थिति में नहीं जाना चाहता हूं जहां एमएस वापस आएगा और समर्थन नहीं करेगा (अगर किसी को इसकी आवश्यकता हो)। – bahree

10

मैं एक NuGet पुस्तकालय में थोक डालने कोड लिपटे है, कि आप की तरह आप आज SqlBulkCopy का उपयोग का उपयोग कर सकते हैं: http://sqlcebulkcopy.codeplex.com

+0

एरिक्स लाइब्रेरी के साथ अच्छी बात यह है कि एपीआई एसक्यूएल 2008 में मिली किसी की नकल करता है, इसलिए यदि आप विभिन्न प्रदाताओं का निर्माण करते हैं तो इसे एकीकृत करना आसान होगा। – Daniel

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