选择显示字体大小

怎样获得sqlserver 2000得实例列表和运行在一个实例上得数据库列表

.net framework中,能够很方便调用com组件,有些时候我们需要获得运行在某个sql server上得服务实例列表和在一个实例上得数据库列表,通过microsoft.sqldmo.object组件就可以轻松完成此项工作:
首先如何找到microsoft.sqldmo.object
1.如何在您得项目中能够使用sqldmo组件?
菜单-项目-添加引用-com-microsoft.sqldmo.object

2.将该功能写成一个类:


  1using system;
  2using system.collections;
  3using system.collections.specialized;
  4
  5namespace jillzhang
  6{
  7    /**//// <summary>
  8    /// summary description for sqlinfo.
  9    /// </summary>
 10    public class sqlinfo
 11    {
 12        成员变量#region 成员变量
 13        private string _uid="";
 14        private string _pwd="";
 15        private stringcollection _serverlist=new stringcollection();
 16        private hashtable _databaselist=new hashtable();
 17        #endregion
 18
 19        构造函数#region 构造函数
 20        public sqlinfo()
 21        {
 22            this._serverlist=getsqlinstances();   
 23            if(this._serverlist.count>0)
 24            {
 25                foreach(string item in this._serverlist)
 26                {
 27                    this._databaselist.add(item,this.getalldatabases(item));
 28                }
 29            }
 30        }
 31        public sqlinfo(string uid,string pwd)
 32        {
 33            this._uid=uid;
 34            this._pwd=pwd;
 35            this._serverlist=getsqlinstances();   
 36            if(this._serverlist.count>0)
 37            {
 38                foreach(string item in this._serverlist)
 39                {
 40                    this._databaselist.add(item,this.getalldatabases(item));
 41                }
 42            }
 43        }
 44        #endregion
 45
 46        公共属性#region 公共属性
 47        /**//// <summary>
 48        /// 服务列表
 49        /// </summary>
 50        public stringcollection serverlist
 51        {
 52            get
 53            {
 54                return _serverlist;
 55            }
 56        }
 57        /**//// <summary>
 58        /// 用于登录sql server得用户名
 59        /// </summary>
 60        public string uid
 61        {
 62            get
 63            {
 64                return _uid;
 65            }
 66            set
 67            {
 68                _uid=value;
 69            }
 70        }
 71        /**//// <summary>
 72        /// 用于登录得密码
 73        /// </summary>
 74        public string pwd
 75        {
 76            get
 77            {
 78                return _pwd;
 79            }
 80            set
 81            {
 82                _pwd=value;
 83            }
 84        }
 85        #endregion
 86
 87        事件方法#region 事件方法
 88        /**//// <summary>
 89        /// 获得服务列表
 90        /// </summary>
 91        /// <returns></returns>
 92        public static system.collections.specialized.stringcollection getsqlinstances()
 93        {
 94            //声明一个字符串链表,用于存放列表信息
 95            system.collections.specialized.stringcollection instaces= new system.collections.specialized.stringcollection();
 96            try
 97            {
 98                //以下代码是通过调用sqldmo组件来实现获得服务列表
 99                sqldmo.application sqlapplication= new sqldmo.applicationclass();
100                sqldmo.namelist sqlserverintances=sqlapplication.listavailablesqlservers();
101                for(int i=0;i<sqlserverintances.count;i++)
102                {
103                    object svr=sqlserverintances.item(i+1);//索引从1开始
104                    if(svr!=null)
105                    {
106                        instaces.add(svr.tostring());
107                    }
108                }
109                return instaces;
110            }
111            catch
112            {
113                throw new exception("未能获得server得列表信息,请查看您得sql server是否正在运行!");
114            }
115        }
116
117        /**//// <summary>
118        /// 获得sqlserver 2000一个server instance上得数据库列表
119        /// </summary>
120        /// <param name="server">服务名称</param>
121        /// <param name="uid">登录用户</param>
122        /// <param name="pwd">登录密码</param>
123        /// <returns>数据库列表</returns>
124        public static system.collections.specialized.stringcollection getalldatabases(string server,string uid,string pwd)
125        {
126            system.collections.specialized.stringcollection databases= new system.collections.specialized.stringcollection();
127            try
128            {
129                sqldmo.sqlserver sqlserver =new  sqldmo.sqlserverclass();
130                sqlserver.connect(server,uid,pwd);
131                foreach(sqldmo.database db in sqlserver.databases)
132                {
133                    if(db.name!=null)
134                    {
135                        databases.add(db.name);
136                    }
137                }
138                return databases;
139            }
140            catch
141            {
142                throw new exception("未能获得服务"+server+"上得数据库列表,可能您得服务器没有启动或者您得用户名或密码错误");
143            }
144        }
145        public system.collections.specialized.stringcollection getalldatabases(string server)
146        {
147            return getalldatabases(server,this._uid,this._pwd);
148        }
149        #endregion
150       
151    }
152}
153


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons