Замена Microsoft Access другой переносимой базой данных и интерфейсом - PullRequest
2 голосов
/ 23 мая 2011

Наша компания скоро обновляет все рабочие компьютеры и больше не поддерживает MS Access. К сожалению, множество важных баз данных хранится во множестве баз данных Access со многими различными стилями интерфейсов. Хранение всего этого на сервере базы данных не может быть и речи. Что такое хорошая переносимая (не серверная) система баз данных, которую я могу использовать?

Я склоняюсь к SQLite, но я также хотел бы иметь возможность писать интерфейсы для запроса данных. Если я использую SQLite, каков хороший способ написать интерфейс запросов, который будет изначально работать на многих компьютерах с Windows?

РЕДАКТИРОВАТЬ: миграция данных не будет проблемой. Я больше беспокоюсь о миграции интерфейса. Как можно написать интерфейс запросов для одной из этих переносимых систем баз данных?

РЕДАКТИРОВАТЬ 2: Кажется, есть некоторая путаница относительно того, что я имею в виду под "интерфейсом запроса". Мне не нужна полная система запросов. Я просто пытаюсь создать простой интерфейс, с помощью которого я могу искать в базе данных по таблице и по полям.

Ответы [ 5 ]

7 голосов
/ 24 мая 2011

Судя по названию вашего вопроса, вы обеспокоены тем, какую базу данных (т.е. контейнер данных) следует использовать вместо Microsoft Access.Однако, просматривая ваш вопрос и последующие ответы и комментарии, вы на самом деле больше заботитесь о том, что использовать для разработки интерфейса приложения / пользователя, что вы называете «интерфейсом запроса».

Вот пара вещейвам нужно понять:

1) SELECT-запросы позволяют извлекать данные из базы данных.Однако данные должны как-то попадать в базу данных.Ни в коем случае вы не указали, используется ли так называемый «интерфейс запроса» для ввода данных.Если это на самом деле используется для ввода данных, как я подозреваю, то вам следует задуматься о том, как вы будете разрабатывать свое «приложение», а не свой «интерфейс запроса».Ввод данных часто требует определенного количества руководства и логики, которые определены вне базы данных.Эта логика включает в себя (но не ограничивается ими) такие вещи, как правила проверки, входные маски, родительские и дочерние отношения, которые реализуются с помощью дизайна GUI.По сути, это приложение, а не просто «интерфейс запроса».Приложения обычно предназначены для облегчения ввода данных, чем когда пользователь вводит данные непосредственно в таблицы.Но даже здесь вы должны понимать, что в конечном итоге пользователь даже не может вводить данные непосредственно в таблицу без какого-либо графического интерфейса приложения, независимо от того, разработан этот графический интерфейс или нет.

2) Microsoft Access - это инструмент быстрой разработки приложений (RAD), позволяющий быстро и легко создавать и сохранять запросы, формы и отчеты.Мне кажется, что вы действительно задаетесь вопросом: Какой инструмент RAD, кроме Microsoft Access, я могу использовать для разработки запросов и форм для просмотра и ввода данных в небольшие базы данных рабочего стола?И какую базу данных вы бы порекомендовали использовать вместе с рекомендованным вами инструментом RAD?

Если я правильно определил ваш фактический вопрос, позвольте мне высказать свою точку зрения на этот вопрос.Во-первых, как уже указывалось в другом ответе, поскольку клиенты работают под управлением MS Windows, вам не нужно отказываться от использования Access / Jet / ACC в качестве базы данных (контейнера данных, части, которая содержиттаблицы).Пока установлен MDAC, база данных Access должна быть «машиночитаемой».

Мне кажется, что более важный вопрос здесь заключается в том, какой инструмент RAD следует использовать вместо Microsoft Access?После того, как вы ответите на этот вопрос, возможно, он поможет вам ответить на первый вопрос, какую базу данных следует использовать.В ответ на этот вопрос давайте будем честными.Хотя у Microsoft Access есть свои недостатки, вы, вероятно, не найдете другого инструмента RAD, который позволял бы вам так легко создавать формы для ввода данных.FileMaker Pro - один из немногих известных мне конкурирующих продуктов.

Да, вы можете использовать Visual Studio .Net для создания исполняемых файлов .exe.Эти среды выполнения могут включать в себя формы для просмотра и ввода данных, а также отчеты.Я думаю, вы обнаружите, что кривая обучения довольно важна, особенно если вы еще не знакомы с ADO.Net, который сильно отличается от DAO или ADO Classic.Если вы хотите предоставить своим пользователям способы создавать свои собственные запросы / фильтры или отчеты, вам придется встроить эту функцию в графический интерфейс, поскольку Visual Studio не предоставляет простых мастеров и инструментов проектирования, которые вы найдете в Microsoft Access.Хотя Visual Studio намного мощнее MS Access, вам необходимо понимать, что время разработки даже для самых простых приложений, вероятно, будет намного больше, особенно когда вы впервые изучаете.

Существуют ли другиеRAD инструменты, которые вы могли бы использовать?Я мало что знаю о различных инструментах проектирования, перечисленных здесь, но это может быть хорошим началом для вас: http://en.wikipedia.org/wiki/List_of_rapid_application_development_tools#Desktop_Rapid_Application_Development_Tools

1 голос
/ 06 марта 2013

Конечно, если PHB исключает Access в качестве меры по сокращению расходов, вы можете разделить существующие базы данных Access на Front-end / backend-приложения, перенести backends в SQL Server Express (бесплатно) и предложить пользователям использовать Среда выполнения MS Access (также бесплатная) Вы, разработчик, единственные, кому действительно нужна платная полная версия Access.

Этот ответ приходит спустя много времени после того, как вопрос был опубликован, но Google по-прежнему показывает его в верхней части списка результатов для "заменить доступ ms"

1 голос
/ 23 мая 2011

SQLite - отличный вариант, который расширит охват многих платформ, помимо Windows (iOS, OSX, Android и т. Д.). Я рекомендую это. Если вы хотите продолжать использовать продукты Microsoft, возможно использование SQL Server Express или Compact Edition.

1 голос
/ 23 мая 2011

Другим решением, в зависимости от того, что вы делаете с этими базами данных, будет Microsoft SQL Server Compact Edition, для которого не требуется установщик.

Независимо от того, какую базу данных вы выберете, вы столкнетесь с переносом ваших запросов на другой диалект языка SQL (фактический синтаксис ваших запросов). Все они имеют свои причуды и особенности (и отсутствующие функции). Это просто природа зверя. Следует отметить, что вы все равно можете получить доступ к базе данных MS Access в коде, не требуя установки MS Access.


Похоже, что характер вопроса кардинально изменился с момента его первоначальной публикации. Вопрос, по-видимому, превратился в вопрос о поиске среды разработки пользовательского интерфейса, которая имеет аналогичные функции для Access. Это, очевидно, совершенно другой вопрос, чем поиск замены для Access (или, в частности, Jet для тех анальных собеседников в аудитории) в качестве движка базы данных.

Существует много альтернатив, и это в значительной степени зависит от того, хотите ли вы продолжить работу с приложением Windows или перейти на интерфейс на основе браузера. Учитывая различные комментарии, звучит так, как будто вы все еще хотите решение на базе Windows. Пара решений, которые вы могли бы исследовать:

  1. .NET Windows Forms - среда .NET невероятно мощная и обеспечивает очень быструю разработку. ИМО, такой же быстрый, как Access, если вы знаете, что делаете, и гораздо более мощный. Однако с этими дополнительными возможностями приходит дополнительная сложность. Нет сомнений в том, что переход на Windows Forms из чистой разработки Access будет пугающим, но полезным.

  2. Другое решение, которое, как я признаю, я не проверял сам, но выглядит многообещающе, это Kexi + SQLite, который предназначен для замены Access с открытым исходным кодом.

Если вы рассматривали возможность переключения передач и перехода на подход, основанный на браузере, снова есть много вариантов. PHP, ASP.NET (MVC и нет), Ruby и так далее. Как и в случае Windows Forms, переход на разработку на основе браузера из разработки Access будет непростым изменением, но также и полезным.

0 голосов
/ 23 мая 2011

Вы должны включить MySQL и PostgreSQL в свой список возможных замен.MySQL поддерживает столбцы AUTO_INCREMENT, поэтому он может быть лучшей заменой баз данных Microsoft.Кроме того, Microsoft SQL Server Express может быть неплохим вариантом.Я перешел от использования баз данных MS Access к использованию MS SQL Server Express в своих приложениях, когда я использовал технологии Microsoft 10-12 лет назад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...