2016-04-14 7 views
2

Я программирую программу установки для приложения на VB.net. Моему приложению нужна база данных SQL Server для работы, но я хочу, чтобы мое приложение запускалось на машинах без экземпляров SQL Server.Создание базы данных SQL Server из vb.net без SQL Server

Существует sqlcmd автономный или что-то еще? (Я хотел бы включить его в свой установочный пакет)

Возможно ли создать базу данных через sqlcmd таким образом?

Спасибо

+0

Вы должны посмотреть бит LocalDB. https://msdn.microsoft.com/en-us/library/hh510202.aspx – Steve

+0

Попробуйте использовать SQLite или SQL CE. Для последнего есть немного работы с добавлением правильных DLL, но это можно сделать. – Nino

+1

Если ваше приложение ** использует ** файл базы данных SQL Server '.mdf', то ** вы ДОЛЖНЫ ** установить на SQL Server версию SQL Server на сервере (или на этом компьютере должен быть доступ к SQL Server instace в сети, к которой он подключен). Вы *** НЕ МОЖЕТЕ *** использовать или создавать файл базы данных SQL. '' Mdf' *** БЕЗ *** с установленным SQL Server –

ответ

4

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

Но, если ваше приложение:

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

Вы можете использовать SQL Server Express LocalDB, доступный на SQL Server 2012 или более поздней версии.

LocalDB позволяет использовать MDF-файлы и работать так же, как вы использовали полную базу данных SQL Server с некоторыми ограничениями без необходимости установки и настройки полного экземпляра SQL Server.

Ваша программа установки может запустить установку SQL Server Express LocalDB (SqlLocalDB.msi), поэтому пользователю не нужно устанавливать продукт отдельно.