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;

  • 相关阅读:
    leetcode 18 4Sum
    leetcode 71 Simplify Path
    leetcode 10 Regular Expression Matching
    leetcode 30 Substring with Concatenation of All Words
    leetcode 355 Design Twitte
    leetcode LRU Cache
    leetcode 3Sum
    leetcode Letter Combinations of a Phone Number
    leetcode Remove Nth Node From End of List
    leetcode Valid Parentheses
  • 原文地址:https://www.cnblogs.com/94YY/p/2043492.html
Copyright © 2011-2022 走看看