Есть ли реальный опыт совместного использования базы данных sqlite на сетевом диске? - PullRequest
0 голосов
/ 04 ноября 2010

У меня есть клиент, который заинтересован в найме моей компании для создания небольшой, настраиваемой, многопользовательской базы данных контактов / crm.Их не волнует технология, которую я использую, если продукт размещен внутри их организации (без «облачного» хостинга).Теперь проблема заключается в том, что их ИТ-отдел отказывается размещать на своих серверах любое приложение, разработанное сторонней компанией, кроме того, они не позволяют ни одному серверу, не обслуживаемому ими, внутри своей сети.

Единственный способ обмена даннымиЭто позволило бы использовать сетевой ресурс Windows ...

Я думал сделать приложение в качестве толстого клиента в Adobe Air и позволить всем пользователям получить доступ к общей базе данных sqlite, но потом я прочитал многонегативные моменты в этом подходе.

Итак, я спрашиваю вас - есть ли люди, которые на самом деле пробовали это?

Каков ваш опыт?

Ответы [ 2 ]

4 голосов
/ 04 декабря 2012

Вы можете использовать файл MS-Access 2007+ (accdb).Конечно, есть много механизмов баз данных с гораздо большим количеством функций и гораздо лучшим синтаксисом SQL, но если вы ищете систему баз данных на основе файлов, к которой одновременно могут обращаться несколько процессов на общем диске Windows, тогда файл accdb также хорошкак вы собираетесь получить, я думаю.Также обратите внимание, что другую популярную встроенную базу данных, SQL Server Compact Edition, нельзя использовать на общих дисках (по крайней мере, для нескольких процессов с разных машин).

Ссылки: Доступ к базе данных общего доступа на сетевом диске: http://office.microsoft.com/en-us/access-help/ways-to-share-an-access-database-HA010279159.aspx#BM3

SQL Server CE не может использоваться на общем диске: SQLCE 4 - EF4.1 Внутренняя ошибка: невозможно открыть область общей памяти

1 голос
/ 04 ноября 2010

Благодаря тому, что sqlite блокирует базы данных, вы должны быть осторожны, если есть вероятность, что у вас будет несколько источников, пытающихся получить доступ к базе данных.Вам либо нужно разработать метод ожидания, либо тайм-аут, либо что-то

...