动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库学院 > 数据库技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ 数据库技巧 ]的信息



本月文章推荐
.SQL Server 2000遇到的两个问题及.
.带你深入了解微软商业智能系统BI.
.在各种数据库中如何限制检索行数.
.MS SQL Server查询优化方法.
.如何对非系统表空间的数据文件进.
.查询一个表中相同的记录.
.如何用RAMDISK来提高PostgreSQL访.
.教你快速掌握如何返回SQL Server.
.Sql server数据库备份还原另一方.
.SQL Server 数据库管理常用的SQL.
.用SQL语句完成SQL Server数据库的.
.SQL server 2005的表分区.
.SQL Server数据库LOG丢失后应当如.
.MS SQL Server存储过程参数的隐式.
.比较一下看看自己掌握了多少SQL快.
.如何获取SQL Server数据库里表的.
.全文本检索的应用(2).
.sql server存储过程、存储函数的.
.教你轻松掌握SQL Server错误信息.
.讲解InfoPlus与Uniformance PHD的.

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

发表日期:2005-12-21 |


在.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


上一篇:2分法-通用存储过程分页(top max模式)版本 人气:8968
下一篇:关于Sql server数据库日志满的快速解决办法 人气:12861
浏览全部Sqlserver 2000的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-9 顶级域名交易系统 v3.0 完整版
2008-7-9 ACTCMS网站管理系统 v2.0 Build
2008-7-9 Roclog v3.1.4 build 20080706
2008-7-9 乐彼网上开店系统(56770 Eshop)
2008-7-9 深度学习alexa排名提升专家 v1.0
2008-7-9 BBSXP 2008 Build 8.0.5 正式版
2008-7-9 一句话快速信息发布系统 修正完美
2008-7-9 ACTCMS网站管理系统 v2.0 Build
2008-7-9 乐涛涛留言本 08版
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 GoodCalculator2.0版固件计算器
2008-7-5 RepoName源地址搜索工具 v1.21b
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 TouchCopy多媒体管理软件 v3.13完
2008-7-5 VideosTone视频铃声 v1.1汉化破解
2008-7-5 TouchPad触摸板 v4.44破解版
2008-7-5 VideosTone破解补丁 v1.0
2008-7-5 Feeds GoogleReader客户端 v0.4.3


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報