Chinaunix首页 | 论坛 | 博客
  • 博客访问: 337370
  • 博文数量: 1051
  • 博客积分: 53280
  • 博客等级: 大将
  • 技术积分: 6670
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:21
文章分类

全部博文(1051)

文章存档

2011年(1)

2008年(1050)

我的朋友

分类:

2008-09-09 15:46:41


  提要:
  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
  创建一个新的项目(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的内容。
【责编:admin】

--------------------next---------------------

阅读(88) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~