Почему я получаю ошибку общего доступа к файлам, если Sql Compact допускает несколько подключений? - PullRequest
6 голосов
/ 09 января 2009

Здесь , говорят, что Sql Server Compact допускает до 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]

Ответы [ 2 ]

9 голосов
/ 13 января 2009

Это была проблема строки подключения.

File Mode=Read Write

решил проблему.

2 голосов
/ 08 апреля 2013

При рассмотрении этой проблемы я нахожу некоторые ресурсы и этот пост. Может, кому-то это понадобится, поэтому я оставляю то, что нахожу здесь.

Согласно MSDN, указанному , если File Mode не назначено, по умолчанию будет использоваться Read Write.

И, если нужно открыть Read Only дБ, , в этом сообщении должны быть указаны два параметра . Один - File Mode, а другой - Temp Path.

...