Как создать установочный пакет для приложения с использованием локальной SQL серверной базы данных - PullRequest
0 голосов
/ 31 марта 2020

Я написал небольшое приложение, чтобы узнать больше о SQL и поэкспериментировать с Entity Framework. При первом выполнении мое приложение создает базу данных локально, а после этого открывает существующую базу данных. Пока все хорошо - он работает довольно хорошо на моем ноутбуке, на котором установлен SQL Server 2017.

Я попытался скопировать сборки на настольную машину, и это также сработало, как ожидалось, хотя SQL Server не был установлен.

Но когда я попытался скопировать сборки на другой ноутбук, приложение не запустилось. Исключение, которое я увидел, было:

При установке соединения с SQL Server произошла ошибка, связанная с сетью или указанная для экземпляра c. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Сервер настроен для разрешения удаленных подключений. (поставщик: SQL Сетевые интерфейсы, ошибка: 52 - Невозможно найти локальную установку базы данных времени выполнения. Убедитесь, что SQL Сервер Express правильно установлен и что включена функция времени выполнения локальной базы данных.)

Все машины Windows 10. (Значительно ли, что на настольном компьютере установлена ​​Visual Studio 2019?)

Кажется, я не могу найти здесь сообщение, в котором говорится о моей проблеме. (Я, вероятно, плохо формулирую свой запрос ...)

В любом случае, я не хочу, чтобы другие пользователи требовали установки SQL Сервера (Express или иным образом). Что мне нужно включить в мою установку?

Можно ли сделать это более или менее автоматически с помощью развертывания ClickOnce (также называемого мастером публикации)? Или мне нужно создать .msi с кодом Wix?

Является ли SQLite лучшим вариантом для этого? Пользователи моего приложения не будут делиться базами данных; у каждого будет свой.


Я видел упоминание SQL Server Compact Edition в этом посте: ASP. NET MVC - Переключение с SQL Сервера Express в Compact Edition - проблема с подключением , но когда я попытался выполнить это, казалось, что это больше не доступно от Microsoft. И я считаю, что я уже использую SQL Сервер Express (похоже, это подтверждается сообщением об ошибке выше) ...


В настоящее время я решил эту проблему, используя Развертывание ClickOnce. В ближайшей перспективе я хотел бы изменить установку, чтобы включить зависимости (. NET & SQL runtimes) в пакет установки, а не загружать их во время установки.

Но мне интересно если SQLite будет лучшим долгосрочным решением ... Одна вещь, которую я оценил в SQLServer, заключается в том, что я могу использовать SQLServer Management Studio для доступа к базе данных отдельно от приложения, чтобы я мог проверить, что приложение сделало. Я также считаю, что это хорошо для пользователей, поскольку у них всегда будет второй вариант получения своих данных, если с приложением что-то пойдет не так.

Предоставляет ли SQLite какой-либо инструмент, аналогичный SQLServer Management Studio, для доступа база данных?

1 Ответ

0 голосов
/ 31 марта 2020

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

https://www.sqlite.org/whentouse.html

SQLite требует только свои сборки для развертывания.

Развертывание SQLite для. net приложения

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