博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
仿VS的Add Connection功能,获取服务器列表及数据库列表
阅读量:7158 次
发布时间:2019-06-29

本文共 2122 字,大约阅读时间需要 7 分钟。

     VS中有Add Connection功能的界面,能够搜索到局域网内的服务器,连接上服务器后能够根据用户名和密码获得数据库的列表。看似很复杂的一个功能,其实很简单。

1、获取服务器列表。

VS中提供了SqlDataSourceEnumerator类,命名空间为System.Data.Sql,直接调用GetDataSource()方法,即可或得服务器列表的DataTable。

代码奉上:

private void GetServerName()        {            List
serverList = new List
(); DataTable dataTable = SqlDataSourceEnumerator.Instance.GetDataSources(); DataRow[] rows = dataTable.Select("", "ServerName,InstanceName Asc"); foreach (DataRow row in rows) { string server = row["ServerName"].ToString(); if (string.IsNullOrEmpty(row["InstanceName"].ToString()) == false) { server = server + "\\" + row["InstanceName"].ToString(); } serverList.Add(server); } this.SetComboBoxItemSource(cbServer, serverList); }

 2、获取数据库的所有数据库列表。

这个比较简单,连接上服务器后,连接master数据库,通过查询systemdatabases就可以了。

代码奉上:

private void GetDataBasesName()        {            List
dataBaseList = new List
();
          //获取服务器、用户名和密码,可以自己改改参数。            string server = this.GetControlText(this.cbServer);            string uid = this.GetControlText(this.txtUid);            string pwd = this.GetControlText(this.pbPwd);            string connString = string.Format("server={0};database=master;uid={1};pwd={2}", server, uid, pwd);            string sql = "select name from SYSDATABASES order by name";            SqlConnection conn = new SqlConnection(connString);            try            {                conn.Open();                SqlCommand cmd = new SqlCommand(sql, conn);                SqlDataReader reader = cmd.ExecuteReader();                while (reader.Read())                {                    dataBaseList.Add(reader[0].ToString());                }            }            catch (Exception)            {                //throw;            }            finally            {                conn.Close();            }            this.SetComboBoxItemSource(this.cbDataBase, dataBaseList);        }

如有不当之处,还请大家多多指教。

转载地址:http://boegl.baihongyu.com/

你可能感兴趣的文章
dubbo性能测试
查看>>
fatal: refusing to merge unrelated histories
查看>>
centos7默认运行级别和终端分辨率修改
查看>>
FMDB使用Cached Statement功能
查看>>
Echarts画折线图超过1000个点,加载慢
查看>>
DNS相关配置
查看>>
【新】斯凯平台的搭建
查看>>
linux中的“5种网络 IO 模型”
查看>>
Redis学习手册(目录)
查看>>
第二项目完成之后的小节
查看>>
capistrano安装
查看>>
PostgreSQL性能
查看>>
DOM4J实现XMl的增加,删除,修改,查询
查看>>
linux下apache和tomcat的整合
查看>>
Wordpress去插件化之合并插件
查看>>
CentOS安装SecureCRT的sz/rz工具包
查看>>
我的友情链接
查看>>
spring--
查看>>
SWAP 交换分区管理
查看>>
LoadRunner测试脚本
查看>>