Проверка того, что объект Server подключен - PullRequest
2 голосов
/ 11 ноября 2010

Я работаю с Server объектом из Microsoft.SqlServer.Management.Smo пространства имен.Как я могу проверить, что он успешно подключился к серверу, я не смог увидеть там никакого свойства, связанного с ним.

                ServerConnection srvConn = new ServerConnection(server);
                // Log in using SQL authentication instead of Windows authentication
                srvConn.LoginSecure = false;
                // Give the login username
                srvConn.Login = serverUserName;
                // Give the login password
                srvConn.Password = serverPassword;
                // Create a new SQL Server object using the connection we created
                SqlServer = new Server(srvConn);

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

Спасибо за помощь.

1 Ответ

1 голос
/ 11 ноября 2010

Я считаю, что Smo не подключается к серверу, пока вы на самом деле не используете соединение для чего-либо.Согласно Books Online:

SMO автоматически установит соединение при необходимости и освободит соединение с пулом соединений после завершения операций.

Это означает, что выесть две основные стратегии:

  1. Получить Server.Information.Version или другой атрибут для проверки соединения
  2. Просто сделайте то, что вы хотите, и поймайте любое исключение

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

...