SQLDMO应用——3.1获取局域网可用服务器列表

类别:.NET开发 点击:0 评论:0 推荐:
3.1获取局域网可用服务器列表

在设计软件的时候,我们常常为软件的易用性而绞尽脑汁。我们想到的是客户。使客户获得最友好的软件界面是我们孜孜追求的。所以在制作一个数据库连接配置程序的时候,必然的,我们会需要让客户选择服务器名,输入用户名、密码等。在网上关于SQLDMO提问最多的也是如何获得局域网可用服务器列表信息。下面就来介绍以下如何获取可用服务器列表。

在这里,我们用到的第一个对象是SQLDMO.ApplicationClass(),通过这个对象,我们可以获得数据库实例列表,获得SQL-DMO的版本号和设置blocking time-out(注2.1.1)。在这里,我只讲述如何获取数据库实例列表。代码如下:

/// <summary>
/// 获得局域网可用服务器列表
/// </summary>

/// <returns>局域网可用服务器列表</returns>

public ArrayList GetServerList()
{
    SQLDMO.ApplicationClass oApp 
= new
 SQLDMO.ApplicationClass();
    ArrayList alTemp 
= new
 ArrayList();
    
try

    
{
        SQLDMO.NameList iServerList 
=
 oApp.ListAvailableSQLServers();
        
if( iServerList != null
 )
        
{
            
forint i = 1; i <= iServerList.Count; i++
 )
            
{
                alTemp.Add( iServerList.Item(i).ToString() );
            }
                
         }

        
return alTemp;
    }

    
catch
    
{
        
return null
;
    }

}


    在上面代码中,我们调用了ListAvailableSQLServers()这个方法。它将一个当前局域网可用服务器实例的列表返回给SQLDMO.NameList接口。通过接口就可以得到所有的服务器名了。
(注意:在使用该方法是需要打上SQLSERVER2000SP3这个补丁,不然会出现接口SQLDMO.NameList 的 QueryInterface 失败的错误。)

本文地址:http://com.8s8s.com/it/it43422.htm