zoukankan      html  css  js  c++  java
  • Sql服务器及数据库枚举

    1. 枚举局域网内所有的SQLSERVER实例
      函数:
         function GetAllServerInstances :TStringList;
         var
          oApplication ,
          oSeverNameList : Variant ;
          i : integer ;
          sNameList : TStringList ;
         begin
          sNameList := TStringList.Create ;
          oApplication := CreateOLEObject ('SQLDMO.Application') ;
          oSeverNameList := oApplication.ListAvailableSQLServers ;
          for i:= 1 to oSeverNameList.Count do
           sNameList.Append (oSeverNameList.Item(i)) ;
          Result := sNameList ;
          oApplication := NULL;
          oSeverNameList := NULL;
         end;
       
      2.登陆到指定的SQLSERVER实例
      函数:
         function LoginServerInstances (sServer,sUser,sPassword :string):Variant;
         var
          oSQLServer : Variant ;
         begin
          oSQLServer := CreateOLEObject ('SQLDMO.SQLServer');
          oSQLServer.LoginTimeout := 30;
          oSQLServer.LoginSecure := False;
          oSQLServer.AutoReconnect := True;
          oSQLServer.Connect(sServer,sUser,sPassword);
          Result := oSQLServer;
          oSQLServer := NULL ;
         end;
       
    以上两个函数可以帮助我们完成取得局域网内所有的SQLSERVER实例并且
    登陆上一个指定的实例。接下来就看看如何取得指定数据库的表名称和存储
    过程名称 :
     
       3.枚举指定Sqlserver实例所有database的名称
       函数:
         function GetAllDatabaseNameList (oSQLServer : Variant ):TStringList;
         var
          sNameList : TStringList ;
          i : integer;
         begin
          sNameList := TStringList.Create ;
          for i:= 1 to oSQLServer.Databases.Count do
           sNameList.Append (oSQLServer.Databases.Item(i).Name) ;
          Result := sNameList ;
         end;
       
       4.枚举指定数据库所有Table的名称
       函数:
         function GetAllTableNameList (oSQLServer : Variant ; sDataBaseName : string ):TStringList;
         var
          oDatabase : Variant ;
          sNameList : TStringList ;
          i : integer;
         begin
          sNameList := TStringList.Create ;
          oDatabase := CreateOLEObject ('SQLDMO.Database');
          oDatabase := oSQLServer.Databases.Item(sDataBaseName);
          for i:= 1 to oDatabase.Tables.Count do
           sNameList.Append (oDatabase.Tables.Item(i).Name) ;
          Result := sNameList ;
          oDatabase := Null ;
         end;

       5.枚举指定数据库所有StoreProcedure的名称
       函数:
         function GetAllStoreProcedureNameList (oSQLServer : Variant ; sDataBaseName : string ):TStringList;
         var
          oDatabase : Variant ;
          sNameList : TStringList ;
          i : integer;
         begin
          sNameList := TStringList.Create ;
          oDatabase := CreateOLEObject ('SQLDMO.Database');
          oDatabase := oSQLServer.Databases.Item(sDataBaseName);
          for i:= 1 to oDatabase.StoredProcedures.Count do
           sNameList.Append (oDatabase.StoredProcedures.Item(i).Name) ;
          Result := sNameList ;
          oDatabase := Null ;
         end;

  • 相关阅读:
    POJ 1018 Communication System
    POJ 1017 Packets
    Codeforces 725B Food on the Plane
    Lessons learned from manually classifying CIFAR-10
    CCF推荐国际学术期刊
    局部数组过大导致编译栈区溢出问题
    自己动手写处理器之第一阶段(3)——MIPS32指令集架构简单介绍
    C++学习笔记29,引用变量(1)
    Android视频应用去广告学习实践
    sublime编辑器怎样高速输入PHP头部版本号声明
  • 原文地址:https://www.cnblogs.com/94YY/p/2043492.html
Copyright © 2011-2022 走看看