C#用SQLDMO操作数据库
SQLDMO.dll是随SQL Server2000一起发布的。SQLDMO.dll自身是一个COM对象
SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装 Microsoft SQL Server 2000 数据库中的对象。SQL-DMO 允许用支持自动化或 COM 的语言编写应用程序,以管理 SQL Server 安装的所有部分。SQL-DMO 是 SQL Server 2000 中的 SQL Server 企业管理器所使用的应用程序接口 (API);因此使用 SQL-DMO 的应用程序可以执行 SQL Server 企业管理器执行的所有功能。
------
SQLServer的大致关系:
Application-->SQLServer-->DataBase
------
实例SQLDMO,主要用到的是其中的以下几个类:
SQLDMO.Application(使用 SQLDMO.ApplicationClass创建)、
SQLDMO.SQLServer(使用SQLDMO.SQLServerClass创建,主要用到它的Connect来连接数据库服务器)、
SQLDMO.NameList(可以通过它和Application获取服务器集合,其它的请看其API)
SQLDMO.DataBase(可以通过它和SQLServer.DataBases获取数据库集合)
示例一:获取局域网内SQL服务器列表
主要用到Application的ListAvaiableSQLServers来获取NameList,
示例二:获取某个服务器下的数据库列表:
主要用到SQLServer以及其属性DataBases
然后获取数据库的属性等就是手到拿来了。。。
^_^
SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装 Microsoft SQL Server 2000 数据库中的对象。SQL-DMO 允许用支持自动化或 COM 的语言编写应用程序,以管理 SQL Server 安装的所有部分。SQL-DMO 是 SQL Server 2000 中的 SQL Server 企业管理器所使用的应用程序接口 (API);因此使用 SQL-DMO 的应用程序可以执行 SQL Server 企业管理器执行的所有功能。
------
SQLServer的大致关系:
Application-->SQLServer-->DataBase
------
实例SQLDMO,主要用到的是其中的以下几个类:
SQLDMO.Application(使用 SQLDMO.ApplicationClass创建)、
SQLDMO.SQLServer(使用SQLDMO.SQLServerClass创建,主要用到它的Connect来连接数据库服务器)、
SQLDMO.NameList(可以通过它和Application获取服务器集合,其它的请看其API)
SQLDMO.DataBase(可以通过它和SQLServer.DataBases获取数据库集合)
示例一:获取局域网内SQL服务器列表
主要用到Application的ListAvaiableSQLServers来获取NameList,
1 SQLDMO.Application sqlapp = new SQLDMO.ApplicationClass();
2 SQLDMO.NameList names = sqlapp.ListAvailableSQLServers();
3 ServerList.Items.Clear();
4 for(int i=1;i<names.Count;i++)
5 {
6 if(names.Item(i)!=null)
7 ServerList.Items.Add(names.Item(i));
8 }
9 if(ServerList.Items.Count>0)
10 {
11 ServerList.SelectedIndex = 1;
12 }
13 else
14 {
15 ServerList.Text = "没有可用的SQL服务器";
16 }
2 SQLDMO.NameList names = sqlapp.ListAvailableSQLServers();
3 ServerList.Items.Clear();
4 for(int i=1;i<names.Count;i++)
5 {
6 if(names.Item(i)!=null)
7 ServerList.Items.Add(names.Item(i));
8 }
9 if(ServerList.Items.Count>0)
10 {
11 ServerList.SelectedIndex = 1;
12 }
13 else
14 {
15 ServerList.Text = "没有可用的SQL服务器";
16 }
示例二:获取某个服务器下的数据库列表:
主要用到SQLServer以及其属性DataBases
1
2 SQLDMO.SQLServer database= new SQLServerClass();
3 try
4 {
5 database.Connect(ServerList.SelectedItem.Text, "sa", "");
6 DataBaseList.Items.Clear();
7 foreach (SQLDMO.Database db in database.Databases)
8 {
9 DataBaseList.Items.Add(db.Name);
10 }
11 }
12 catch (System.Exception ee)
13 {
14 DataBaseList.Items.Clear();
15 DataBaseList.Items.Add("无法连接所选服务器");
16 }
2 SQLDMO.SQLServer database= new SQLServerClass();
3 try
4 {
5 database.Connect(ServerList.SelectedItem.Text, "sa", "");
6 DataBaseList.Items.Clear();
7 foreach (SQLDMO.Database db in database.Databases)
8 {
9 DataBaseList.Items.Add(db.Name);
10 }
11 }
12 catch (System.Exception ee)
13 {
14 DataBaseList.Items.Clear();
15 DataBaseList.Items.Add("无法连接所选服务器");
16 }
然后获取数据库的属性等就是手到拿来了。。。
^_^
<h3>
心静似高山流水不动,心清若巫峰雾气不沾。
</h3>
心静似高山流水不动,心清若巫峰雾气不沾。
</h3>