لماذا أتلقى خطأ مشاركة الملف إذا يسمح SQL الميثاق اتصالات متعددة؟
-
06-07-2019 - |
سؤال
هنا ، على ما يقال أن SQL Server ضغط يسمح ما يصل إلى 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] م>
المحلول
وكانت هذه القضية سلسلة الاتصال.
File Mode=Read Write
وحل المشكلة.
نصائح أخرى
عند دراسة هذه المشكلة، وأجد بعض الموارد وهذا المنصب. ربما شخص ما سوف تحتاج إليها، لذلك أترك ما أجد هنا.
<وأ href = "http://msdn.microsoft.com/en-us/library/system.data.sqlserverce.sqlceconnection.connectionstring٪28v=vs.85٪29.aspx" يختلط = "نوفولو noreferrer" > قال وفقا لMSDN ، إن وجد أي File Mode
، فإنه سيتم استخدام Read Write
افتراضيا.
و، وإذا دعت الحاجة لفتح ديسيبل Read Only
، <وأ href = "https://stackoverflow.com/questions/11289355/open-sql-server-ce-database-data-from-read-only-file- نظام / 11289707 # 11289707 "> وقالت هذه الوظيفة يجب تعيين معلمتين . واحد هو File Mode
واحد هو Temp Path
.