Вопрос

Мне нужно создать простое однопользовательское приложение базы данных для Windows.Основные требования — независимость от версии Windows и установленного программного обеспечения.Какие технологии (язык/фреймворк) вы бы порекомендовали?Я предпочитаю язык Visual Basic.

РЕДАКТИРОВАТЬ:А как насчет VB.Net и SQL Server Compact Edition?

Это было полезно?

Решение

Я бы посоветовал Склайт.Он полностью автономен и всеобщее достояние так что проблем с лицензией вообще нет.

Другие советы

Однопользовательский или многопользовательский?

Для одного пользователя ответ будет таким: SQLite

Для многопользовательского (или многопоточного) попробуйте MySQL или PostgreSQL.

Поскольку вам требуется приложение на базе Windows, я бы посоветовал вам использовать экспресс-версию sql server 2005, которая является бесплатным инструментом, но с некоторыми небольшими ограничениями.вы можете перейти на более крупную версию, если используете платную версию.

Существуют и другие механизмы БД, такие как SQL Lite или FireBird. Выбирайте их, если предоставляемые ими возможности поддержки и роста достаточно хороши для вас.

Кроме того, Visual Basic живёт.VB.NET в настоящее время может быть лучшей платформой на базе Windows.Это дало бы лучшую платформу/функции для начала, и когда вы хотите расширить свой талант, работающий над проектом, я предполагаю, что таланты .NET могут быть более доступными, чем программисты, которые хотят работать с мертвым языком.

дубликат Какие существуют варианты быстрого внедрения БД в .NET?

Повторю свой ответ оттуда:

«Или есть Esent, встроенная база данных, которая существует в каждой копии Windows.Прочтите об этом здесь: http://ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage-engine.aspx" и http://www.codeplex.com/ManagedEsent

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

http://www.mysql.com/ http://www.firebirdsql.org/

FireBird SQL сервер будет выбором.Его можно использовать как во встроенном, так и в многопользовательском режиме, как и традиционные базы данных.Он реализует многие стандарты SQL и имеет сильную базу сообщества.Он доступен для Windows, Linux, Solaris, OS X, HP-UX.

Как уже упоминалось, SQLite — отличная однопользовательская база данных. На этой странице есть примеры VB/SQLite..Единственное беспокойство вызывает то, что SQLite анализирует ограничения внешнего ключа, но не обеспечивает их соблюдение.Вы можете использовать этот код для генерации «триггеров внешнего ключа» для SQLite, что позволяет получить простую в использовании базу данных с ограничениями FK.

Однако в зависимости от того, насколько требовательны ваши потребности в базе данных, вы можете рассмотреть возможность использования MS Access.

Я использовал SQL Server Compact Edition.Это как sqllite.Одиночный файл SDF, доступ к которому осуществляется с помощью ADO.NET.Вы можете разработать свое приложение с помощью Visual Basic .NET и управлять базой данных (добавлять таблицы, столбцы, ограничения и т. д.) с помощью Visual Studio.

SQLite может быть тем, что вы ищете. http://www.sqlite.org/

В зависимости от ваших потребностей в приложении.

Вы могли бы использовать SQLLite Это очень хорошая база данных, не требующая установки.

Вы также можете использовать Microsoft SQL-сервер:SQL-сервер компакт 3.5.

Оба бесплатны!

Из вашего поста не совсем понятно, хотите вы веб-приложение или нет.

Для веб-приложения MySQL эффективно работает на платформе Windows.У вас также есть практически безграничные возможности для среды разработки, включая PHP, Ruby on Rails, Django и .Net.

Если вы ищете настольное приложение, MS Access может подойти...невероятно легко для простых приложений.

Ну, если у вас нет опыта...

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

На стороне клиента вы не ошибетесь, выбрав VBScript и ADO (с использованием драйверов OLE DB).Они поставляются с каждой установкой Windows, начиная с Dark Ages, и в Интернете вы найдете множество ссылок/руководств/ответов.Недостаток:нет пользовательского интерфейса, о котором можно было бы говорить, поэтому вам придется создать интерфейс командной строки (который был для «простого» приложения).

Если вы хотите создать пользовательский интерфейс, я бы предложил использовать .NET WinForms.Накладные расходы будут значительно больше, но .NET теперь установлен на всех компьютерах с XP/Vista, и даже если это не так, вы всегда можете установить платформу вместе со своим приложением.

Если вы хотите создать приложение, которое можно легко перенести на другой компьютер, я предпочитаю Microsoft Access. Это небольшая база данных, простая в использовании и не требующая установки. Она подходит для таких приложений, как адресная книга, мини-система crud.

Но если вы хотите разработать корпоративную систему баз данных, вам следует использовать MySQL вместо.

Я не понимаю, что вы имеете в виду под «независимостью от [...] установленного программного обеспечения».Вам когда-нибудь понадобится как минимум установленная СУБД, а также один клиентский или пользовательский интерфейс.

Я рекомендую использовать MS Access.Это простой и дешевый способ решения простых однопользовательских задач и быстрой разработки прототипов.Для создания БД необходимо купить только версию для разработки («обычный» доступ).Рабочую версию Access 2007 можно бесплатно загрузить с домашней страницы Microsoft — для использования только созданной вами базы данных.

Также он объединяет СУБД и интерфейс с графическим интерфейсом в одном инструменте.

Осмелюсь ли я упомянуть MS Access...?

Если вам нужен небольшой размер (до нескольких МБ) и простота развертывания (конечному пользователю достаточно установить ваше приложение только для того, чтобы оно заработало), тогда вам подойдут встроенные SQLite и Firebird.

Из этих двух я бы в любой момент выбрал Firebird из-за его полной поддержки SQL (например, в SQLite нельзя удалить столбец), совместимости с ACID и возможности перехода на клиент/сервер без каких-либо изменений (просто измените строку подключения со встроенной на серверную) в код, если вы когда-нибудь решите разрешить нескольким пользователям работать с одной и той же базой данных.

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

Я успешно использую Turbo Delphi (бесплатно для коммерческого и некоммерческого использования) + ZeosLib (zeos.firmos.at).

Единственное, что вам нужно распространять вместе с вашим .exe, — это библиотеки DLL клиента базы данных (клиент устанавливать не нужно, просто поместите библиотеки DLL в один и тот же каталог).

Бы Кэси работа?

Я могу порекомендовать из личного опыта «моя визуальная база данных» бесплатно, без кода, без SQL, просто перетаскивать и отбросить.

http://myvisualdatabase.com/

Лучшим вариантом было бы создать собственное приложение Win32, используя Дельфи и используйте SQLLite в качестве базы данных.

Причина в том, что Delphi может создавать собственные приложения Win32 без установки на компьютер каких-либо других продуктов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top