Как заставить приложения wpf в одной сети читать данные с одного SQL Server? - PullRequest
0 голосов
/ 31 октября 2018

У меня есть приложение C # WPF, работающее в Visual Studio 2017 на моем компьютере, и я использую SQL Server 2014 для сохранения / выбора данных.

Как я могу запустить его на другом компьютере Windows в той же сети без установки Visual Studio / SQL Server? Это приложение должно читать / вставлять данные из / в мой SQL Server.

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

Кроме того, я попытался скопировать бин на другие ПК, но приложение все еще не может читать данные с SQL Server.

Я уже готовлю SQL Server для получения соединения, используя следующие шаги по следующей ссылке:

Как запустить настольное приложение с использованием базы данных SQL Server на другом компьютере, подключенном к локальной сети

Также в app.config я нашел следующую строку подключения:

  connectionString="Data Source=DESKTOP-QO2VUSP\SQLEXPRESS;Initial Catalog=AJFactory;Integrated Security=True"

Я проверил обработчик событий из других ПК, обнаружил следующие ошибки:

Приложение: Factory App.exe Framework Версия: v4.0.30319 Описание: процесс был прерван из-за необработанного исключения. Информация об исключении: System.Data.SqlClient.SqlException at System.Data.SqlClient.SqlInternalConnectionTds..ctor (System.Data.ProviderBase.DbConnectionPoolIdentity, System.Data.SqlClient.SqlConnectionString, System.Data.SqlClient.SqlCredential, System.Object, System.String, System.Security.SecureString, Boolean, System.Data.SqlClient.SqlConnectionString, System.Data.SqlClient.SessionData, System.Data.ProviderBase.DbConnectionPool, System.String, Boolean, System.Data.SqlClient.SqlAuthenticationProviderManager

и следующее:

Неправильное имя приложения: Factory App.exe, версия: 1.0.0.0, время штамп: 0x5bdb0efa Неисправное имя модуля: KERNELBASE.dll, версия: 10.0.17134.319, отметка времени: 0x5ea0e53d Код исключения: 0xe0434352 Смещение ошибки: 0x001117d2

Ответы [ 3 ]

0 голосов
/ 02 ноября 2018

Обратите внимание на тип безопасности в строке подключения:

Integrated Security=True

работает, только если два компьютера находятся в одном домене. Я советую вам добавить имя пользователя и пароль для SQL в connectionString

0 голосов
/ 05 ноября 2018

Вам нужно установить Integrated Security=False, затем, когда оно ложно, вам нужно указать User ID и Password в строке соединений. Для получения дополнительной информации о Integrated Security, проверьте следующий ответ:

В чем разница между интегрированной безопасностью = True и интегрированной безопасностью = SSPI?

0 голосов
/ 31 октября 2018

Тот факт, что это приложение WPF не имеет значения.

Вам необходимо изменить строку подключения для вашего объекта SqlConnection. Вероятно, он скажет что-то вроде «Data Source = Localhost» или «Data Source = 127.0.0.1». Это должно быть изменено на сетевое имя вашего ПК.

Вам также необходимо проверить конфигурацию сервера / базы данных Sql на наличие у другого пользователя правильных прав доступа, необходимых для этого приложения.

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