Подтвердить что ты не робот

SQL Server CE в многопользовательском сценарии - это действительно, действительно глупо?

Я пытаюсь использовать SQL Server Compact Edition 3.5 в качестве базы данных для приложения для продаж. Было бы 3-4 установки приложения Windows Forms, которые все (через LINQ2SQL) могли бы читать и записывать в один файл .sdf, расположенный на сетевом ресурсе.

Мое (довольно интенсивное) тестирование показало, что это может быть жизнеспособным. Документация утверждает, что SQL Server CE поддерживает до 256 подключений. Зачем SQL Server CE блокировать свои строки? Есть ли другие проблемы concurrency, о которых я должен беспокоиться?

В нижней строке: кто-нибудь использовал SQL Server CE успешно с несколькими приложениями, подключенными к одной базе данных?

Должен ли я избавиться от будущих головных болей и пойти с SQL Server Express?

4b9b3361

Ответ 1

MS рекомендует (от Darian Miller руководство по сопоставлению):

Когда вам требуется служба передачи данных функциональности, такой как способность поддержка нескольких удаленных пользователей, вы следует начинать с SQL Server Express Издание и работа над сервисом передачи данных семейное дерево.

среда выполнения поддерживает concurrency на одном компьютере, не уверен, что несколько компьютеров обращаются к файлу. в случае, если файл хранится по сетевому ресурсу, что может не соответствовать оптимальному профилю производительности для ce. я бы сказал, пойдите с EE, это оснастка для установки с помощью простого msi.

SSCE Concurrency:

SSCE позволяет несколько подключений к ту же базу данных (файл .sdf) из одно или несколько приложений приложений на одном компьютере. Это дает вам больше свободы структурируйте свое приложение по мере необходимости, например, позволяя пользователю продолжать взаимодействовать с данными во время выполнения синхронизация с фоновым базы данных или иметь несколько приложения на одной и той же машине хранилище данных SSCE. транзакционный concurrency блокировки выполняются механизм базы данных для предотвращения одновременного соединения от доступа к тому же записи одновременно. технический предел на одновременный соединения для одной базы данных 256, но 70-80 является более практичным ограничение с точки зрения производительности.

http://technet.microsoft.com/en-us/library/bb380177%28SQL.90%29.aspx

Ответ 3

Я бы сказал, что у вас будет меньше головных болей с sql ce, если вы используете все на одной машине. Установка версии Express на каждый компьютер, на котором работает ваше приложение, не является хорошим, громоздким и, вероятно, излишним.