• C#_获取 SQL服务器列表


    #region   得到所有本地网络中可使用的SQL服务器列表   
      ///<summary>   
      ///   得到所有本地网络中可使用的SQL服务器列表   
      ///</summary>   
      ///<param   name="p_strServerList">服务器列表</param>   
      ///<returns></returns>
      public   static   bool   GetServers(ref   string   []   p_strServerList)   
      {   
      try   
      {   
      SQLDMO.Application   sqlApp   =   new   SQLDMO.ApplicationClass();     
      SQLDMO.NameList   sqlServers   =   sqlApp.ListAvailableSQLServers();     
      if(sqlServers.Count   >   0)   
      {   
      p_strServerList   =   new   string[sqlServers.Count];   
      for(int   i=0;i<sqlServers.Count;i++)     
      {     
      string   srv   =   sqlServers.Item(i   +   1);     
      if(srv   !=   null)     
      {     
      p_strServerList[i]   =   srv;                                                     
      }     
      }     
      }   
      return   true;   
      }   
      catch(Exception   ex)   
      {   
      throw   ex;   
      }   
      }   
        
      #endregion   
        
      #region   得到指定SQL服务器所有数据库的列表   
      ///<summary>   
      ///   得到指定SQL服务器所有数据库的列表   
      ///</summary>   
      ///<param   name="p_strDataBaseList">数据库列表</param>   
      ///<param   name="p_strServer">服务器名</param>   
      ///<param   name="p_strUser">用户名</param>   
      ///<param   name="p_strPWD">密码</param>   
      ///<returns></returns>
      public   static   bool   GetDataBases(ref   string   []   p_strDataBaseList,   string   p_strServer,   string   p_strUser,   string   p_strPWD)   
      {   
      try   
      {   
      int   i   =   0;   
        
      SQLDMO.Application   sqlApp   =   new   SQLDMO.ApplicationClass();     
      SQLDMO.SQLServer   srv   =   new   SQLDMO.SQLServerClass();                                     
      srv.Connect(p_strServer,p_strUser,p_strPWD);     
        
      if(srv.Databases.Count   >   0)   
      {   
      p_strDataBaseList   =   new   string[srv.Databases.Count];   
        
      foreach(SQLDMO.Database   db   in   srv.Databases)     
      {     
      if(db.Name!=null)     
      {   
      p_strDataBaseList[i]   =   db.Name;   
      }   
      i   =   i   +   1;   
      }   
      }   
      return   true;   
      }   
      catch(Exception   ex)   
      {   
      throw   ex;   
      }   
      }   
        
      #endregion   
        
      #region   得到所有的存储过程   
      ///<summary>   
      ///   得到所有的存储过程   
      ///</summary>   
      ///<param   name="p_strProcedureList">存储过程列表</param>   
      ///<param   name="p_strServer">服务器名</param>   
      ///<param   name="p_strUser">用户名</param>   
      ///<param   name="p_strPWD">密码</param>   
      ///<param   name="p_strDataBase">数据库名</param>   
      ///<returns></returns>
      public   static   bool   GetProcedures(ref   string   []   p_strProcedureList,   string   p_strServer,   string   p_strUser,   string   p_strPWD,   string   p_strDataBase)   
      {   
      try   
      {   
      SQLDMO.SQLServer   srv   =   new   SQLDMO.SQLServerClass();                                     
      srv.Connect(p_strServer,p_strUser,p_strPWD);     
        
      for(int   i=0;i<srv.Databases.Count;i++)     
      {     
      if(srv.Databases.Item(i+1,"dbo").Name   ==   p_strDataBase)     
      {     
      SQLDMO._Database   db=   srv.Databases.Item(i+1,"dbo");     
      if   (db.StoredProcedures.Count   >   0)   
      {   
      p_strProcedureList   =   new   string[db.StoredProcedures.Count];   
        
      for(int   j=0;j<db.StoredProcedures.Count;j++)     
      {     
      p_strProcedureList[j]   =   db.StoredProcedures.Item(j+1,"dbo").Name;     
      }     
      break;     
      }     
      }   
      }   
        
      return   true;   
      }   
      catch(Exception   ex)   
      {   
      throw   ex;   
      }   
      }   
      #endregion   
        
      #region   得到所有的Tables集合   
      ///<summary>   
      ///   得到所有的Tables集合   
      ///</summary>   
      ///<param   name="p_strProcedureList">Tables集合</param>   
      ///<param   name="p_strServer">服务器名</param>   
      ///<param   name="p_strUser">用户名</param>   
      ///<param   name="p_strPWD">密码</param>   
      ///<param   name="p_strDataBase">数据库名</param>   
      ///<returns></returns>
      public   static   bool   GetTables(ref   string   []   p_strTableList,   string   p_strServer,   string   p_strUser,   string   p_strPWD,   string   p_strDataBase)   
      {   
      try   
      {   
      SQLDMO.SQLServer   srv   =   new   SQLDMO.SQLServerClass();                                     
      srv.Connect(p_strServer,p_strUser,p_strPWD);     
        
      for(int   i=0;i<srv.Databases.Count;i++)     
      {     
      if(srv.Databases.Item(i+1,"dbo").Name   ==   p_strDataBase)     
      {     
      SQLDMO._Database   db=   srv.Databases.Item(i+1,"dbo");     
      if   (db.Tables.Count   >   0)   
      {   
      p_strTableList   =   new   string[db.Tables.Count];   
        
      for(int   j=0;j<db.Tables.Count;j++)     
      {     
      p_strTableList[j]   =   db.Tables.Item(j+1,"dbo").Name;     
      }     
      break;     
      }     
      }   
      }   
        
      return   true;   
      }   
      catch(Exception   ex)   
      {   
      throw   ex;   
      }   
      }   
      #endregion   
        
      #region   得到所有的Views集合   
      ///<summary>   
      ///   得到所有的Views集合   
      ///</summary>   
      ///<param   name="p_strProcedureList">Views集合</param>   
      ///<param   name="p_strServer">服务器名</param>   
      ///<param   name="p_strUser">用户名</param>   
      ///<param   name="p_strPWD">密码</param>   
      ///<param   name="p_strDataBase">数据库名</param>   
      ///<returns></returns>
      public   static   bool   GetViews(ref   string   []   p_strViewList,   string   p_strServer,   string   p_strUser,   string   p_strPWD,   string   p_strDataBase)   
      {   
      try   
      {   
      SQLDMO.SQLServer   srv   =   new   SQLDMO.SQLServerClass();                                     
      srv.Connect(p_strServer,p_strUser,p_strPWD);     
        
      for(int   i=0;i<srv.Databases.Count;i++)     
      {     
      if(srv.Databases.Item(i+1,"dbo").Name   ==   p_strDataBase)     
      {     
      SQLDMO._Database   db=   srv.Databases.Item(i+1,"dbo");     
      if   (db.Views.Count   >   0)   
      {   
      p_strViewList   =   new   string[db.Views.Count];   
        
      for(int   j=0;j<db.Views.Count;j++)     
      {     
      p_strViewList[j]   =   db.Views.Item(j+1,"dbo").Name;     
      }     
      break;     
      }     
      }   
      }   
        
      return   true;   
      }   
      catch(Exception   ex)   
      {   
      throw   ex;   
      }   
      }   
      #endregion   
    

      

  • 相关阅读:
    数学之路(3)-机器学习(3)-机器学习算法-SVM[7]
    iPhone 5s网络钓鱼邮件,和苹果发布会同步亮相
    c# winform读取xml创建菜单
    TCP/IP笔记 三.运输层(2)——TCP 流量控制与拥塞控制
    java.lang.RuntimeException: Unable to start activity ComponentInfo
    ListView 行高设置不起作用
    openstack中iptables的使用
    多线程中Local Store Slot(本地存储槽)
    oracle在一个字符串中查找某个字符出现过几次
    如何用万用表测二极管
  • 原文地址:https://www.cnblogs.com/laojiefang/p/2443560.html
Copyright © 2020-2023  润新知