Развернуть мое приложение с базой данных на другом компьютере? - PullRequest
0 голосов
/ 05 мая 2020

Я попытался создать проект установки и последовал некоторым найденным мной ответам, но когда я перестраивал проект, мне всегда казалось, что он терпит неудачу, потому что я щелкнул переключатель «Загрузить необходимые компоненты из того же места, что и мое приложение». Когда я открываю настройку, она просто пуста. Мне пришлось установить переключатель «Загрузить предварительные требования с веб-сайта поставщика компонентов», чтобы установка работала.

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

Сервер не найден (полная ошибка приведена ниже).

У меня такое чувство, что я только что сделал что-то не так со своей строкой подключения, а именно:

ReadOnly connection As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\AladeenDatabase.mdf;Integrated Security=True")

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

Ошибка, связанная с сетью или конкретным экземпляром c, произошла при установке подключения к SQL серверу. Сервер не был найден или недоступен. Убедитесь, что имя экземпляра правильное и что SQL сервер настроен для разрешения удаленных подключений. (поставщик: SQL Сетевые интерфейсы, ошибка: 50 - Произошла ошибка времени выполнения локальной базы данных. Указанный LocalDB экземпляр не существует.

1 Ответ

1 голос
/ 05 мая 2020

По поводу установки делать нечего. Если файл данных MDF находится в той же папке, что и ваша программа EXE, ваше приложение работает.

Тем не менее, ваша строка подключения предполагает, что машина, на которой установлено ваше приложение, имеет экземпляр SQL Server LocalDB имя MSSQLLocalDB установлено. В противном случае соединение не может быть установлено. Вам необходимо убедиться, что на любой машине, на которую вы устанавливаете, есть такой экземпляр, или же сохранить строку подключения, внешнюю по отношению к программе, например, в файле конфигурации, чтобы ее можно было редактировать на каждой целевой машине, а для Data Source установить значение имя существующего экземпляра. Ваше приложение полагается на SQL Server, поэтому SQL Server должен присутствовать, и вы должны ссылаться на существующий экземпляр.

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