Ошибка сетевых интерфейсов SQL Server 52 - Невозможно найти базу данных во время установки - PullRequest
0 голосов
/ 12 апреля 2019

Я создаю систему POS в Windows Forms (C #), в которой я использую файл базы данных SQL Server (.mdf) для хранения элементов (полностью в автономном режиме).Когда я устанавливаю приложение на свой компьютер, оно работает нормально, но когда я устанавливаю его на клиентском ПК, возникает ошибка:

(поставщик: сетевые интерфейсы SQL, ошибка: 52 - невозможно найтиУстановка локальной базы данных во время выполнения "

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

Другая причина, которая может вызывать проблему, заключается в том, что я использовал «базу данных на основе сервера», поскольку опция локальной базы данных по какой-то причине недоступна в Visual Studio 2017.

Другое решение, которое я посмотрел, гласило, что я должен установить SQL Server Express на ПК моего клиента, но также не удалось (может быть, мне нужно каким-то образом настроить его).

Я такжепопытался добавить файлы database.mdf и database_log в папку установки.

Наконец, я попытался установить сторонние установщики (Advanced installers 15.8 и InstallShield Wizard в VS 2015), который также не удался.

(я предоставил код для соединения с базой данных и строку соединения)

    public void ConnectToDB()
    {
        DBConnection = new SqlConnection(@"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename=C:\Users\SAIM NASSER\Desktop\app layer\data layer\Database1.mdf; Integrated Security = True");

        DBConnection.Open();

        ResultSet = new DataSet();
    }

1 Ответ

1 голос
/ 12 апреля 2019

Если я правильно вас понял, вы хотите использовать LocalDB
Это означает использование Sql Server без установки полного сервера sql, а только части localdb из sql server express.

Чтобы это работало, вам необходимо установить драйвер LocalDB, который можно найти здесь
https://www.microsoft.com/en-us/download/details.aspx?id=29062

Вам нужно только ENU\x64\SqlLocalDB.MSI

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

И да, вам также следует изменить строку подключения на клиентском компьютере, вам нужно изменить ее так, чтобы она указала на файл MDF на клиентском компьютере, потому что это расположение, вероятно, будет отличаться от того, что на вашем компьютере

EDIT
Чтобы заставить работать строку подключения, вы можете попробовать это
На клиентском компьютере создайте текстовый файл и переименуйте расширение в .udl
Так, например, у вас есть файл test.udl
Теперь из проводника дважды щелкните по нему, откроется редактор связей данных.
Отсюда вы можете ввести / выбрать различные настройки и нажать кнопку test connection.
Получив работающее соединение, сохраните его и откройте этот файл с помощью блокнота.
Внутри вы найдете рабочую строку подключения
Надеюсь, это поможет

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