分类

  • 软件天地

  • 使用SQL DMO从SQL Server中获取信息‖
      ms sql server提供了
    Server。在这里提供一些想
    一个非常方便的COM组件“SQLDM
    法和实现。
    O”来帮助我们获取和管理SQL

      系统要求:                                                                    
      windows2000server                                            
      vs.net rc3                                                          
      sql server 2000                                                
      正文:                                                                        
      1.在.NET中使用sqldmo.dll                                      
      path :>tlbimp sqldmo.dll /out : rc3sqldmo.dll

      创建一个新的C#项目(
    rc3sqldmo.dll,加入。
    winform, library....),添加引

    用,选择Browse,找到

      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 rc
    3sqldmo.database2class();
      mydb=mydbs.item("dbn
    m("dbname","owner");
    ame","owner"); 或mydb=mysqls

    vr.databases.ite


      获得表和字段的信息:

      rc3sqldmo.Tables myt
    bls= mysqlsvr.databases.item
    ("dbname","owner").tables;
      rc3sqldmo.table2 myt
    bl = new rc3sqldmo.table2cla
    ss();
      mytbl = mytbls.item("tablename",
    "owner");或
      mytbl = mysqlsvr.databases.item(
    .item("tablename","owner");
    "dbname","owner").tables

      string[3] mylist = new string[3];            
      rc3sqldmo.column2 my
    field = new rc3sqldmo.column
    2class();
      foreach(object o in mytbl.columns)          
      {                                                                           
      myfield = (rc3sqldmo.column2) o;              
      mylist[0]=myfield.name;                                
      mylist[1] = myfield.datatype;                    
      mylist[2] =myfield.length.tostring();    
      }                                                                           

      获得存储过程的信息:

      rc3sqldmo.storedprec
    udure2 mysp = new rc3sqldmo.
    storedprecudure2class();
      mysp =mysqlsvr.batabase.itrm("db
    dures.item[B("spname",owner)]
    name",owner).storedprecu


      用途的讨论:

      动态管理sql server                                                  
      动态获得table,storedprecudure的结构信息                  
      还能增加,修改所有sql server object的内容。                  

    上一页 下一页




    map