Вопрос:

Невозможно создать строку подключения для удаленного рабочего стола для приложения C #

sql-server windows-services connection-string remote-connection

20 просмотра

2 ответа

60 Репутация автора

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

public string CreateConnectionString()
{
    SqlConnectionStringBuilder b = new SqlConnectionStringBuilder();
    b.DataSource = "ABCKOL-BCKOFF\\SQLEXPRESS";
    b.InitialCatalog = "netXs";
    b.IntegratedSecurity = false;
    b.UserID = "userid";
    b.Password = "password";

    return string connectionString = b.ConnectionString;
}

Но, к сожалению, он показывает такую ​​ошибку:

Сообщение об ошибке

Есть что-нибудь, что я должен знать больше / проверить больше?

Автор: ispostback Источник Размещён: 10.08.2019 04:23

Ответы (2)


0 плюса

45 Репутация автора

Проверьте, доступен ли сам сервер и доступен ли обязательный экземпляр MS SQL Server через SSMS. Возможно, порты для удаленного доступа к MS SQL Server не включены или сам сервер недоступен.

Автор: Evgeniy Gribkov Размещён: 10.08.2019 05:38

0 плюса

86 Репутация автора

Попробуйте сделать telnet localhost 1433из командной строки (с того же сервера, на котором запущены службы SQL), если соединение принято без ошибок, то ваш SQL-сервер действительно готов принимать соединения. В противном случае выполните следующие действия для устранения проблемы:

  • Проверьте, настроен ли пользовательский порт для службы SQL Express (согласно скриншоту)

введите описание изображения здесь

Если пользовательский порт НЕ настроен

  1. Убедитесь, что служба браузера SQL работает
  2. Создайте правило в брандмауэре Windows, чтобы принимать входящие соединения через порты TCP 1433и1434 (TCP and UDP)
  3. Сделать еще telnet localhost 1433раз, чтобы проверить

Если пользовательский порт настроен

  1. Создайте правило в брандмауэре Windows, чтобы принимать входящие соединения на пользовательских портах TCP
  2. Перезапустите службу SQL
  3. Сделать, telnet localhost <custom port>чтобы проверить
  4. Измените строку подключения на DataSource = "ABCKOL-BCKOFF,<custom port>"
Автор: Shekar Kola Размещён: 11.08.2019 07:27
Вопросы из категории :
32x32