SQL Server CE: несколько подключений (2+ приложения) к одной и той же базе данных (C#, WPF)

Мое приложение C# WPF, использующее базу данных SQL Server CE 4, все работает нормально.

Но когда я хочу запустить несколько экземпляров этого приложения, у меня возникает проблема: я не могу открыть более 1 соединения одновременно.

Насколько я понял, SQL Server CE допускает несколько операций чтения, но только одну запись за раз.

я получаю сообщение об ошибке

есть нарушение общего доступа к файлам, другой процесс может использовать файл

Что делать, чтобы это исправить?

Если какая-то информация отсутствует, сообщите мне об этом в комментарии

Редактировать 1:

Пытался добавить

PRAGMA journal_mode=WAL;

в строку подключения, но это вызывает ошибку: ключевое слово не поддерживается: 'pragma journal_mode'

Редактировать 2: Насколько я понимаю, Sql CE поддерживает более 1 подключения, но только с одного и того же ПК, я хочу подключиться к базе данных на сетевом диске. Что я могу сделать? (Я не могу использовать SQL Server Express и т. д., только один файл db)


person VeryNoob    schedule 02.10.2015    source источник
comment
Используете ли вы SQLite или SQL Server CE 4 - это две совершенно разные встроенные системы баз данных......   -  person marc_s    schedule 02.10.2015
comment
@marc_s Я использую System.Data.SqlServerCe (SqlCeConnection и т. д.)   -  person VeryNoob    schedule 02.10.2015
comment
Это SQL Server CE (Compact Edition) - не SQLite....   -  person marc_s    schedule 02.10.2015
comment
хм, так это должно поддерживать несколько соединений еще лучше, верно?   -  person VeryNoob    schedule 02.10.2015
comment
Программирование заставляет меня плакать...   -  person VeryNoob    schedule 02.10.2015


Ответы (2)


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

person Padhu    schedule 02.10.2015
comment
Мой db сохранен как файл .sdf, поэтому он не может его открыть. также не могу установить PRAGMA, что бы я ни делал... - person VeryNoob; 02.10.2015
comment
извините, я ответил на это, потому что вы упомянули, что это sqlite db. Если вы используете Почему бы не попробовать установить sql server. - person Padhu; 03.10.2015

Используйте бесплатный SQL Server Express, если вам нужна база данных по локальной сети.

person ErikEJ    schedule 02.10.2015