понедельник, 4 июня 2018 г.

IT заметки. ч. 4

И, напоследок, список обнаруженных проблем MS Access:
1. База в один прекрасный момент прекращает работать. Лечится разделением на файл данных и файл оболочки или переходом на SQL Server.
1. Поле Filter в форме запоминает значение. Если это поле использовать для фильтрации формы при открытии, то через определенное время происходит запоминание значения фильтра. Форма открывает только отфильтрованную запись. Лечится фильтрацией данных в источнике формы.
2. Ограничение на размер кода. Никак не лечится.
3. Периодически прекращают работать глобальные переменные. Лечения  не знаю.
4. После добавления элементов управления на форму форма перестает работать. Лечил переформатированием формы только удалением лишнего.
5. Проблемы с bit полями при работе с MS SQL через ODBC. Нельзя использовать поля с NULL.
6. Нет собственных средств хранения сжатых (jpg) изображений. Правда, мы нашли стороннее.
7. Нет средств хранения и обработки географических данных. Решения не искал.
8. Сильное расхождение между внутреннем SQL и стандартом. Скорее это сильно облегченный до нескольких команд SQL с элементами VBA.
9. При импорте репорта в EXCEL, Word или PP выгружается только текст без картинок.
10. Слабые средства визуализации данных.
11. Слабая документация на VBA (Visual Basic for Application). Надо так же учитывать, что VBA является облеченной версией классического Visual Basic 6.0. Тот VB, который входит в Visual Studio 2017 сильно отличается от VB 6.0.
11. Повисшие транзакции при работе через ODBC. Вызвано конфликтом транзакций при загрузке больших объемов данных. Говорят, что лечится через прямое назначение источника или переходом по набору данных на последнее значение. Но эффективность решений не проверял.
Последний пункт стал последней каплей дальше я решил прекратить заниматься разработкой на MS Access, так как это начало больше напоминать садо-мазо. Однако в начале 2018 года мы попробовали оживить старичка и решили организовать хранение в MS Access данных локального аналитика (именно к этому периоду относился моя заметка № 1), которые нет необходимости хранить в центральном хранилище и здесь мы обнаружили еще одну проблему: из-за конфликта транзакционной и облачной технологий возникают большие риски при сохранении данных у локального пользователя.
Можно ли использовать MS Access? Да, как десктопный обработчик данных. В этом приложении специалистами можно быстро обработать данные хранящиеся в базе данных с простой структурой или данные из разрозненных источников, когда нет времени и опыта переносить их в SQL-подобные хранилища. Использовать MS Access для создания приложений нежелательно, проблемы среды вылезают сразу, достаточно быстро разработчик может упиреться в ограничения среды разработки.
Какие альтернативы? Современные методы обработки данных основанные на реляционной модели (к коим относится и MS Access) предусматривают использование SQL хранилища (От MS SQL до MySQL), инструментов анализа данных, к примеру библиотек Python или R для сложной обработки данных и средства визуализации данных типа Power BI. В легких случаях последние два компонента заменяются EXCEL, а набор данных для визуализации полностью готовится в SQL-системе. Альтернатива SQL хранилищу практически отсутствует, в этом и нет особой необходимости - SQL де-факто стандарт языка обработки данных. Для разработки качественных интерфейсов есть прекрасные системы разработки приложений типа WPF. Применить их в базах данных чуть сложнее и дольше, чем MS Access, но качество приложения будет значительно выше, развертывание и поддержка проще.

IT заметки:
- Часть 1.
- Часть 2.
- Часть 3.

Комментариев нет:

Отправить комментарий