All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
初学,ASP.NET,AJAX,(四):Timer,和,UpdateProgress_[Asp.Net教程]
用PHP5的DirectoryIterators递归扫描目录_php资料_编程技术
利用ASP.NET,2.0客户端callbacks限制postbacks_.net资料_编程技术
vs2005视频教程之自定义服务器控件(下)[视频]_[Asp.Net教程]
针对Oracle10g,EM乱码之快速解决方法_php资料_编程技术
用javascript-css实现GridView行背景色交替、点击行变色_[Asp.Net教程]
编写SQL查询的关键—SQL语句的执行顺序_mssql学习_编程技术
aspx页面弹出窗口代码大全_[Asp.Net教程]
Php高手带路--问题汇总解答_[PHP教程]
百分百的弹出窗口_JavaScript技术_编程技术
Reading number is top 10 pictures
Sora aoi possession photo1
Tie a large font of mouse
Born After 90 Beijing sports university campus flower photos1
Magnificent cloud1
Men's and women's orgasms
Beautiful vacuum girl2
刘亦菲写真集2
2012 national geographic daily picture8
The money of more than 100 countries and regions11
六种更聪明的工作方法
Download software ranking
matrix3
linux安装大全
Such love down(擒爱记)
在线棋牌游戏3.05版
Unix video tutorial12
Boxer's Top ten classic battle1
Ashlynn Video2
金山office2007
Tram sex maniac 2 (H) rar bag5
Tram sex maniac 2 (H) rar bag9
delv published in(发表于) 2014/1/8 7:02:33 Edit(编辑)
C#中使用SQL,Server分布式管理对象(SQL

C#中使用SQL,Server分布式管理对象(SQL

C#中使用SQL Server分布式管理对象(SQL-DMO)_[Asp.Net教程]

我们曾经在以前的应用中多次需要得到SQL Server的详细信息,过去,我们必须使用API和效率低下的ADO的 调用才能得到,现在,我们有了一个新的方法,就是SQLDMO(SQL Distributed Management Objects,SQL分布式管 理对象),尽管它目前还不被人所知和使用,但是SQLDMO提供了许多强有力的、和利用代码从SQL Server获得 信息相类似的许多功能,为举例方便,这里仅向您解释如何得到本地网络的SQL Server列表,如何去连接每 个SQL Server,以及如何得到Server中的表、存储过程和视图的列表。

SQLDMO对象来自SQLDMO.dll,SQLDMO.dll是随SQL Server2000一起发布的。SQLDMO.dll自身是一个COM对象,因此 ,在你的.NET项目里必须先引用它,VS.NET集成开发环境会创建所有必要的对COM的封装。注意:如果你使用“ using SQLDMO;”语句来引用的话,你将会得到一个错误信息。要让它在你的应用程序里正常工作,你必须按下图 去引用它:
单击在新窗口中浏览图片

引用了COM对象之后,你就可以很容易地使用它了。

本例子中的所有操作都使用以下的一个或几个对象:


SQLDMO.Application
SQLDMO.SQLServer
SQLDMO.Database
SQLDMO.NameList


象数据备份和恢复这样的操作都有许多对象可以使用,但作为例子,我们会尽量简单,使你轻松进 入SQLDMO的世界来浏览一下它的方便性。

列出本地网络中可使用的SQL服务器相对来说比较简单,首先,你需要引用SQLDMO.Application对象,其 次,你必须建立一个SQLDMO.Application.ListAvailableSQLServers()方法的返回值的实 例SQLDMO.NameList,SQLDMO.NameList是服务器名字的COM集合。

请记住:在你习惯了调用COM对象之前,调用COM对象总是令人感到可怕的,但习惯了就会好的。下面 是一些示例代码,它利用本地可使用的SQL服务器的列表来填充下拉列表框。


//得到所有本地网络中可使用的SQL服务器列表。
SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers();
for (int i = 0; i < sqlServers.Count; i++)
{
object srv = sqlServers.Item(i + 1);
if (srv != null)
{
this.cboServers.Items.Add(srv);
}
}
if (this.cboServers.Items.Count > 0)
this.cboServers.SelectedIndex = 0;
else
this.cboServers.Text = "";


正如前面所讲的,是不是很简单?请记住:COM集合的第一个项目是1,而不是0。

连接数据库并得到所有数据库的列表也是相当简单的。下面的代码采用上面下拉列表框所选择的SQL服 务器,并连接该服务器(使用文本框输入的用户名和密码),生成该服务器上数据库列表的下拉列表框。


//得到指定SQL服务器所有数据库的列表
SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(this.cboServers.SelectedItem.ToString(), this.txtUser.Text, this.txtPassword.Text);
foreach (SQLDMO.Database db in srv.Databases)
{
if (db.Name != null)
this.cboDatabase.Items.Add(db.Name);
}


要得到该库中对象的列表也是轻而易举的事,再一次连接到数据库,就可以遍历出对象的集合。


//得到所有的存储过程,所有的表放到Tables集合,所以的视图放到Views集合
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(this.cboServers.SelectedItem.ToString(), this.txtUser.Text, this.txtPassword.Text);
for (int i = 0; i < srv.Databases.Count; i++)
{
if (srv.Databases.Item(i + 1, "dbo").Name == this.cboDatabase.SelectedItem.ToString())
{
SQLDMO._Database db = srv.Databases.Item(i + 1, "dbo");
this.lstObjects.Items.Clear();
for (int j = 0; j < db.StoredProcedures.Count; j++)
{
this.lstObjects.Items.Add(db.StoredProcedures.Item(j + 1, "dbo").Name);
}
break;
}
}
程序运行的结果将象下图的样子:
单击在新窗口中浏览图片

通过上面的例子,要得到SQL的信息是不是很方便呢。


来源:CSDN







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.