注册
 找回密码
 注册
江西广告网
查看: 324|回复: 0
打印 上一主题 下一主题

使用SQL DMO从SQL Server中获取信息

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-1-22 16:54:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  提要:   ms sql server提供了一个非常方便的COM组件“SQLDMO”来帮助我们获取和管理SQL Server。在这里提供一些想法和实现。   系统要求:   windows2000server   vs.net rc3   sql server 2000   正文:   1.在.NET中使用sqldmo.dll   path :>tlbimp sqldmo.dll /out : rc3sqldmo.dll   创建一个新的C#项目(winform, library....),添加引用,选择Browse,找到rc3sqldmo.dll,加入。   2.查看rc3sqldmo.dll的结构   打开object view,选择rc3sqldmo,你能浏览所有的属性、方法和事件的定义。   3.使用rc3sqldmo   获得连接:   rc3sqldmo.sqlserver2 mysqlsvr = new rc3sqldmo.sqlserver2class();      mysqlsvr .connect("sqlservername","uid","pws");      获得数据库信息:   rc3sqldmo.databases mydbs=mysqlsvr.databases;   rc3sqldmo.database2 mydb =new rc3sqldmo.database2class();   mydb=mydbs.item("dbname","owner"); 或mydb=mysqlsvr.databases.item("dbname","owner");      获得表和字段的信息:   rc3sqldmo.Tables mytbls= mysqlsvr.databases.item("dbname","owner").tables;   rc3sqldmo.table2 mytbl = new rc3sqldmo.table2class();   mytbl = mytbls.item("tablename","owner");或   mytbl = mysqlsvr.databases.item("dbname","owner").tables.item("tablename","owner");   string[3] mylist = new string[3];   rc3sqldmo.column2 myfield = new rc3sqldmo.column2class();   foreach(object o in mytbl.columns)   {   myfield = (rc3sqldmo.column2) o;   mylist[0]=myfield.name;   mylist[1] = myfield.datatype;   mylist[2] =myfield.length.tostring();   }      获得存储过程的信息:   rc3sqldmo.storedprecudure2 mysp = new rc3sqldmo.storedprecudure2class();   mysp =mysqlsvr.batabase.itrm("dbname",owner).storedprecudures.item[B("spname",owner)]      用途的讨论:   动态管理sql server   动态获得table,storedprecudure的结构信息   还能增加,修改所有sql server object的内容。 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表