获取局域网内SQL Server服务器列表 4 private void FormatServerList() 4 /// 服务器名
5 /// 登录名
6 /// 密码
7 public void Connect(object ServerName,object Login,object Password) 4 private void FormatDatabaseList() 4 /// 索引
5 /// 所有者
6 /// 4 private void FormatTableList() 4 /// 索引
5 /// 所有者
6 /// 4 private void FormatServerList() 4 /// 服务器名
5 /// 登录名
6 /// 密码
7 public void Connect(object ServerName,object Login,object Password) 4 private void FormatDatabaseList() 4 /// 索引
5 /// 所有者
6 /// 4 private void FormatTableList() 4 /// 索引
5 /// 所有者
6 ///
我简单介绍一下在ASP.NET中如何用SQLDMO来获取SQL Server中的对象信息。首先我们想到的是所在的局域网内有多少SQL Server服务器,知道了服务器,有了登录的用户名和密码,就可以知道在指定的服务器上有多少张表,视图,存储过程,以及每张表中包含的字段信息等。
添加引用sqldmo.dll
安装了SQLServer2000 就有了,在添加引用中找它
最好使用SQL Server 2000的SP3的sqldmo.dll
using SQLDMO;
SQLDMO.ApplicationClass sqlApp = new SQLDMO.ApplicationClass();
SQLDMO.NameList nameList;
int i = 0;
nameList = sqlApp.ListAvailableSQLServers();
for(i=1;i
3 ///
5 {
6 sqlServers = sqlApp.ListAvailableSQLServers();
7
8 if(sqlServers != null)
9 {
10 for(int i=0;i
3 ///
8 {
9
10 }
属性:Databases
Name
Login
Password
QueryTimeOut
在获取数据库列表时,利用它的Databases属性,示例代码如下:
1/**////
3 ///
5 {
6 SQLDMO.tSQLServer sr = new SQLDMO.SQLServerClass();
7 sr.Connect(this.wdrp_ServerList.SelectedItem.ToString(),txtUserName,txtUserPwd);
8
9 /**////创建一个DataTable
10 DataTable dt = new DataTable();
11 dt.Columns.Add(“Name”);
12 dt.Columns.Add(“Owner”);
13 dt.Columns.Add(“Size”);
14 dt.Columns.Add(“CreatDate”);
15
16 foreach(Database db in sr.Databases)
17 {
18 if(db.Name != null)
19 {
20 DataRow dr = dt.NewRow();
21
22 /**////获取数据库的名称
23 dr[“Name”] = db.Name;
24
25 /**////获取数据库的所有者
26 dr[“Owner”] = db.Owner;
27
28 /**////获取数据库的大小
29 dr[“Size”] = db.pSize;
30
31 /**////获取数据库的创建日期
32 dr[“CreatDate”] = db.CreateDate;
33
34 dt.Rows.Add(dr);
35 }
36 }
37
38 /**////绑定数据
39 this.wgrd_Database.DataSource = dt;
40 this.wgrd_Database.DataBind();
41 }
3.获取数据中的表的集合:
这时需要创建一个SQLDMO的Database对象,利用它的属性和方法来获取,主要的属性和方法:
方法:Item(object Index,object Owner)
1/**////
3 ///
7 public Database Item(object Index,object Owner)
8 {
9
10 }
属性:Name
Owner
Size
CreateDate
Tables
Views
StoredProcedures
示例代码如下:
1/**////
3 ///
5 {
6 SQLDMO.SQLServer sr = new SQLDMO.SQLServerClass();
7 sr.Connect(this.wdrp_ServerList.SelectedItem.ToString(),txtUserName,txtUserPwd);
8
9 /**////创建一个DataTable
10 DataTable dt = new DataTable();
11 dt.Columns.Add(“dbName”);
12 dt.Columns.Add(“Name”);
13 dt.Columns.Add(“Owner”);
14 dt.Columns.Add(“CreatDate”);
15 dt.Columns.Add(“PrimaryKey”);
16
17 for(int j=0;j
3 ///
7 public Table Item(object Index,object Owner)
8 {
9
10 }
属性:Name
Owner
CreateDate
PrimaryKey
Keys
Triggers
Indexs
Rows
Columns
利用这些属性和方法,大家可以很轻松地去获取数据表,字段等信息,这里就不写示例程序了,同样有了这些信息,就可以去写自己的代码生成器了^_^我简单介绍一下在ASP.NET中如何用SQLDMO来获取SQL Server中的对象信息。首先我们想到的是所在的局域网内有多少SQL Server服务器,知道了服务器,有了登录的用户名和密码,就可以知道在指定的服务器上有多少张表,视图,存储过程,以及每张表中包含的字段信息等。
1.获取服务器的列表:
获取服务器时,主要是利用了SQLDMO的Application对象,该对象主要有以下几个主要的属性和方法:
方法:ListAvailableSQLServers()
属性:Name
SQLServers
Properties
示例程序:
1/**////
3 ///
5 {
6 sqlServers = sqlApp.ListAvailableSQLServers();
7
8 if(sqlServers != null)
9 {
10 for(int i=0;i
3 ///
8 {
9
10 }
属性:Databases
Name
Login
Password
QueryTimeOut
在获取数据库列表时,利用它的Databases属性,示例代码如下:
1/**////
3 ///
5 {
6 SQLDMO.tSQLServer sr = new SQLDMO.SQLServerClass();
7 sr.Connect(this.wdrp_ServerList.SelectedItem.ToString(),txtUserName,txtUserPwd);
8
9 /**////创建一个DataTable
10 DataTable dt = new DataTable();
11 dt.Columns.Add(“Name”);
12 dt.Columns.Add(“Owner”);
13 dt.Columns.Add(“Size”);
14 dt.Columns.Add(“CreatDate”);
15
16 foreach(Database db in sr.Databases)
17 {
18 if(db.Name != null)
19 {
20 DataRow dr = dt.NewRow();
21
22 /**////获取数据库的名称
23 dr[“Name”] = db.Name;
24
25 /**////获取数据库的所有者
26 dr[“Owner”] = db.Owner;
27
28 /**////获取数据库的大小
29 dr[“Size”] = db.pSize;
30
31 /**////获取数据库的创建日期
32 dr[“CreatDate”] = db.CreateDate;
33
34 dt.Rows.Add(dr);
35 }
36 }
37
38 /**////绑定数据
39 this.wgrd_Database.DataSource = dt;
40 this.wgrd_Database.DataBind();
41 }
3.获取数据中的表的集合:
这时需要创建一个SQLDMO的Database对象,利用它的属性和方法来获取,主要的属性和方法:
方法:Item(object Index,object Owner)
1/**////
3 ///
7 public Database Item(object Index,object Owner)
8 {
9
10 }
属性:Name
Owner
Size
CreateDate
Tables
Views
StoredProcedures
示例代码如下:
1/**////
3 ///
5 {
6 SQLDMO.SQLServer sr = new SQLDMO.SQLServerClass();
7 sr.Connect(this.wdrp_ServerList.SelectedItem.ToString(),txtUserName,txtUserPwd);
8
9 /**////创建一个DataTable
10 DataTable dt = new DataTable();
11 dt.Columns.Add(“dbName”);
12 dt.Columns.Add(“Name”);
13 dt.Columns.Add(“Owner”);
14 dt.Columns.Add(“CreatDate”);
15 dt.Columns.Add(“PrimaryKey”);
16
17 for(int j=0;j
3 ///
7 public Table Item(object Index,object Owner)
8 {
9
10 }
属性:Name
Owner
CreateDate
PrimaryKey
Keys
Triggers
Indexs
Rows
Columns
利用这些属性和方法,大家可以很轻松地去获取数据表,字段等信息,这里就不写示例程序了,同样有了这些信息,就可以去写自己的代码生成器了^_^
[数据库]通过SQLDOM获得服务器信息
相关推荐
- 员工考勤打卡时,如何避免非本人代替打卡? - 华为云开发者联盟 - 博客园
- Web Components从技术解析到生态应用个人心得指北 - zhoulujun - 博客园
- 【经典问题】mysql和redis数据一致性问题 - Scotyzh - 博客园
- vs出现错误,无法启动 Visual Studio。StreamJsonRpc.ConnectionLostException:在请求完成之前,与远程的JSON-RPC连接已丢失_客服专区-CSDN问答
- 【转】Chrome内核浏览器打开网页报 错误代码: ERR_TIMED_OUT - m_lm的个人空间 - OSCHINA - 中文开源技术交流社区
- ASP.NET Core WebApi配置跨域_asp.net core webapi 跨域-CSDN博客
- C# 怎么用OpenCVSharp4实现图片表格识别
- ChatGPT 本地部署及搭建_孟郎郎的博客-CSDN博客