ADO Datenbank ermitteln


  • Mit folgenden Funktionen kann der Datenbankhersteller (Access, Oracle, ...) ermittelt werden:


    Code
    uses ADODB;interface  // Typ der Datenbankverbindung feststellen  function IsAccessConnection(cn: TADOConnection): Boolean;  function IsSQLServerConnection(cn: TADOConnection): Boolean;  function IsMySQLConnection(cn: TADOConnection): Boolean;  function IsOracleConnection(cn: TADOConnection): Boolean;  function IsODBCConnection(cn: TADOConnection): Boolean;type   TADOConnectionType = ( ctMSAccess, ctMSSqlServer, ctMySQL, ctOracle, ctUnknown,   ctODBC );function GetADOConnectionType(cn: TADOConnection): TADOConnectionType;implementationuses SysUtils;function PosIgnoreCase(const SubStr, S: string): Integer;begin   Result := Pos(UpperCase(SubStr),UpperCase(S));end;function IsAccessConnection(cn: TADOConnection): Boolean;begin  Result := PosIgnoreCase('Microsoft.Jet.OLEDB.',cn.Provider) > 0;end;function IsSQLServerConnection(cn: TADOConnection): Boolean;begin  Result := (PosIgnoreCase(\\\'SQLOLEDB\\\',cn.Provider) > 0) or    // SQL Native Client von SQL Server 2005    (PosIgnoreCase(\\\'SQLNCLI\\\',cn.Provider) > 0);end;function IsMySQLConnection(cn: TADOConnection): Boolean;begin  // Warning !!! untested  Result := PosIgnoreCase('MYSQLOLEDB',cn.Provider) > 0;end;function IsOracleConnection(cn: TADOConnection): Boolean;begin  // Warning !!! untested  Result := PosIgnoreCase('MSDAORA',cn.Provider) > 0;end;function IsODBCConnection(cn: TADOConnection): Boolean;begin  Result := PosIgnoreCase('MSDASQL', cn.Provider) > 0;end;function GetADOConnectionType(cn: TADOConnection): TADOConnectionType;begin  Result := ctUnknown;  if not Assigned(cn) then    Exit;  if IsAccessConnection(cn) then    Result := ctMSAccess  else if IsSQLServerConnection(cn) then    Result := ctMSSqlServer  else if IsMySQLConnection(cn) then    Result := ctMySQL  else if IsOracleConnection(cn) then    Result := ctOracle  else if IsODBCConnection(cn) then    Result := ctODBC;end;end.



    mfg Icewarez
    [/quote][quote='Icewarez','https://gfx-forum.de/new/thread/?postID=135#post135']
    Mit folgenden Funktionen kann der Datenbankhersteller (Access, Oracle, ...) ermittelt werden: