Member 13275563 Ответов: 1

Не удалось создать пользовательский экземпляр SQL server из-за сбоя при копировании файлов базы данных.соединение будет закрыто


У меня есть разработанное приложение в winforms ,но когда я открываю клиентскую машину n, возникает ошибка
"не удалось создать пользовательский экземпляр sql server из-за сбоя при копировании файлов базы данных.соединение будет закрыто"
пожалуйста, дайте мне решение для этого

Что я уже пробовал:

ConnectionString = "источник данных=mypc\SQLEXPRESS;
Ключевое слово attachdbfilename=базы данных mydb.МДФ;
Интегрированная Безопасность=True;

Экземпляр Пользователя=True";

Richard MacCutchan

Проверьте строку подключения и расположение всех файлов.

1 Ответов

Рейтинг:
9

OriginalGriff

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

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


Member 13275563

Да ,я создал новую базу данных с данными в sql server и изменил строку подключения,но все равно произошла та же ошибка,что мне теперь делать

OriginalGriff

Итак, как выглядит ваша новая строка подключения?

Member 13275563

Да так что мое приложение connectionstring выглядит следующим образом

<?xml version="1.0"?>
<конфигурация>

<соединительные нити>
<добавить имя="LN.Properties.Параметры.dbLnConnectionString"
connectionString="источник данных=myPC;начальный каталог=dbLn;идентификатор пользователя=sa;пароль=sa123;экземпляр пользователя=True"
providerName="System.Data.SqlClient" />



<system.windows.forms jitDebugging="true" />

<startup><supportedRuntime version="v4.0" sku=".NETFramework,версия=v4.0"/>

Но все же эта ошибка произошла,пожалуйста, дайте мне решение.я сталкиваюсь с этой проблемой с 15 дней

OriginalGriff

Эта строка выглядит не так, как надо:
"Источник данных=myPC" маловероятен - обычно у вас также есть имя экземпляра SQL.
"Provider=..." - это не ключевое слово, которое поддерживает SQL Server.

Вы можете посмотреть здесь:
https://www.codeproject.com/Tips/1198443/Simple-SQL-Connection-String-Creation
Это должно помочь вам (и вашему клиенту) создать рабочее соединение.

Кстати: пользователь sa не рекомендуется - вы должны создать пользователя с достаточным разрешением для работы приложения. "sa" имеет полный доступ ко всем БД и может делать с системой все, что угодно. Используя это, вы открываете свой логин администратора случайным пользователям и подвергаете все происходящее риску, если в вашем коде есть ошибка.