C #: DBConnection.Open () время ожидания слишком велико - PullRequest
1 голос
/ 23 марта 2010

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

Есть ли способ проверить, существует ли сервер перед попыткой подключения?

Спасибо

Ответы [ 4 ]

2 голосов
/ 15 октября 2013

Свойство ConnectionTimeout в DbConnection не имеет установщика. Это ждет 15 секунд. Вам необходимо указать время ожидания в строке подключения. «Время ожидания подключения» в строке подключения указывается в секундах.

string connStr = "Data Source=(local);Initial Catalog=AdventureWorks;" +
                 "Integrated Security=SSPI;Connection Timeout=5";
2 голосов
/ 23 марта 2010

Есть ли в вашем DBConnection свойство ConnectionTimeout? Попробуйте установить это для небольшого числа.

0 голосов
/ 23 марта 2010

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

0 голосов
/ 23 марта 2010

Вы можете использовать Объекты управления SQL Server (SMO), чтобы получить список серверов SQL. Существует пример того, как получить список серверов здесь . Перечисление серверов может занять некоторое время, но вы всегда можете запустить его в фоновом режиме при загрузке приложения, чтобы оно было готово, когда пользователь должен выбрать сервер.

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