2009-01-09 13 views
6

Here, यह कहा कि Sql सर्वर कॉम्पैक्ट 256 कनेक्शन करने के लिए अनुमति देता है।एसक्यूएल कॉम्पैक्ट एकाधिक कनेक्शन की अनुमति देता है तो मुझे फ़ाइल साझा त्रुटि क्यों प्राप्त होती है?

लेकिन जब मैं 2 कनेक्शन खोलने का प्रयास करें, मैं एक फ़ाइल साझा त्रुटि प्राप्त। इसे कैसे हल किया जा सकता है?

SqlCeConnection c1 = new SqlCeConnection("Data Source=testDB.sdf;Encrypt Database=True;Password=test;File Mode=shared read;Persist Security Info=False;"); 
SqlCeConnection c2 = new SqlCeConnection("Data Source=testDB.sdf;Encrypt Database=True;Password=test;File Mode=shared read;Persist Security Info=False;"); 
c1.Open(); 
c2.Open(); // throws SqlCeException 
c1.Close(); 
c2.Close(); 

एक फ़ाइल साझा उल्लंघन नहीं है। फ़ाइल का उपयोग कर एक अलग प्रक्रिया हो सकती है। [TestDB.sdf]

उत्तर

9

यह एक कनेक्शन स्ट्रिंग मुद्दा था।

File Mode=Read Write 

समस्या हल हो गई।

+1

मैं सिर्फ इस एक ही समस्या थी। बेवकूफ गलती वास्तव में ... मुझे सही लगाने के लिए धन्यवाद। – Eddie

+0

समवर्ती उपयोगकर्ताओं के साथ एक छोटी वेबसाइट के लिए मुझे SQL कॉम्पैक्ट 4.0 का उपयोग करके एक ही त्रुटि मिली। इस सुझाव ने मेरी समस्या का समाधान नहीं किया। –

2

जब इस समस्या सर्वेक्षण, मैं कुछ संसाधनों और इस पोस्ट पाते हैं। शायद किसी को इसकी आवश्यकता होगी, इसलिए मैं यहां जो कुछ पाता हूं उसे छोड़ देता हूं।

According the MSDN said, यदि कोई File Mode असाइन नहीं किया गया है, तो यह डिफ़ॉल्ट रूप से Read Write का उपयोग करेगा।

और, जरूरत एक Read Only db, this post said two parameters should be assigned खोलने के लिए है। एक File Mode है, और एक Temp Path है।