Если я создаю решение в C #, как мне добавить базу данных в конечную программу? - PullRequest
3 голосов
/ 08 апреля 2010

Извиняюсь, если это очень простой вопрос, но я готовлюсь создать исполняемый файл для приложения Visual Studio C #. (Мой первый раз!)

Мое приложение использует базу данных, которую я сейчас храню в SQL Server. Это прекрасно работает во время кодирования, так как я вручную создал базу данных на своем компьютере.

Я вижу, что VS2008 создал .exe в моей папке bin / debug, но как мне убедиться, что все новые пользователи (у которых еще нет базы данных), делающие новую установку, также получают базу данных?

Ответы [ 6 ]

2 голосов
/ 08 апреля 2010

Вы можете встроить SQL Express и распространить файл MDF или запустить скрипт для создания схемы БД и базового набора данных.

Зависит от типа создаваемого вами приложения. Если это простое приложение, вы можете рассмотреть возможность использования SQLite, и дистрибутив будет просто файлом базы данных и не требует установки или настройки сервера БД.Если вы беспокоитесь о его сложности, вы можете получить доступ к SQLite, используя ADO.NET, а также LINQ через библиотеки .NET, которые вы можете загрузить.

2 голосов
/ 08 апреля 2010
1 голос
/ 08 апреля 2010

Если вы ищете встраиваемую базу данных (каждый пользователь получает собственную базу данных вместе с приложением), я лично использовал System.Data.SQLite в настольном приложении и могу рекомендовать ее. Это оболочка .NET из SQLite , движок базы данных общественного достояния, который вы встраиваете прямо в свое приложение. База данных живет в одном файле.

0 голосов
/ 08 апреля 2010

Я рекомендую FirebirdSQL Embedded Server. Высокая производительность, множество функций, сравнимых с MSSQL Express Edition. И это только несколько DLL в папке приложения.

0 голосов
/ 08 апреля 2010

Если вам нужны расширенные процедуры базы данных, SQL Server Express - это то, что вы хотите внедрить, как это было предложено другим автором.Если вы просто используете его как базовое хранилище данных, вам может оказаться проще использовать SQLite, который связан с помощью простой ссылки на один .DLL в вашей сборке.

0 голосов
/ 08 апреля 2010

Вам потребуется создать установщик, который собирает и устанавливает базу данных. Это можно сделать, поддерживая сценарии, содержащие код для создания базы данных, таблиц, хранимых процедур, представлений, данных и т. Д. Затем установщик может запустить эти сценарии, чтобы определить, присутствует ли база данных, и, если нет, создать базу данных и запустить сценарии для его построения и заполнения.

Одним из преимуществ этого подхода является то, что, поскольку сценарии базы данных представляют собой просто текстовые файлы на диске, их можно хранить в системе контроля версий, проверять изменения и т. Д.

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

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