2010-11-11 77 views
2

我正在使用命名空间的Server对象。 我怎么能检查它连接成功的服务器,我不能看到有关它的任何财产。检查连接的服务器对象

   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

我相信Smo不会连接到服务器,直到您实际使用连接为止。根据联机丛书:在需要时

SMO会自动建立连接 ,并释放 到连接池 的连接已经完成执行 操作之后。

这意味着你有两个基本策略:

  1. 检索Server.Information.Version或其他属性来测试
  2. 先走一步,做你想做的事,和捕捉任何连接例外

我会说2是更好的选择,因为不能保证现在有效的连接将在几秒钟内再次工作:服务器或网络可能关闭或您的登录可以由DBA禁用。从一开始就处理连接失败是一个让你的应用程序更健壮的好方法。