Adobe AIR - SQLite - несколько клиентов - PullRequest
4 голосов
/ 14 ноября 2011

У меня есть коммерческий продукт Point Of Sale, который написан на Adobe AIR и сейчас работает примерно в 100 точках розничной торговли.У большинства моих клиентов в магазине около 5 компьютеров.У некоторых из моих крупных клиентов есть 10-20 компьютеров.

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

Приложение работает в режимах Master и Workstation.В режиме «Мастер» база данных находится на физическом компьютере.В режиме рабочей станции приложение обращается к базе данных по сети.SQLite не предназначен для использования таким образом, и он вызывает все виды проблем (блокировка файлов, исчезновение данных, повреждение файлов и т. Д.).

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

Вот некоторые из требований: 1) Приложение должно работать в автономном режиме. 2) Решение должно быть в состоянии обрабатывать транзакции. 3) Решение должно поддерживать синхронные соединения.

Некоторые из идей, которые я 'Вот что мы имеем:

1) Напишите «сервер базы данных», который расположен перед БД и позволяет выполнять только 1 оператор за один раз.2) Измените базу данных на MySQL и используйте библиотеку assql.Я не верю, что это поддерживает синхронные утверждения.

Какие у вас есть идеи?

Спасибо!

...