لماذا أتلقى خطأ مشاركة الملف إذا يسمح SQL الميثاق اتصالات متعددة؟

StackOverflow https://stackoverflow.com/questions/427888

  •  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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top