protected override IList <TreeNodeBase> GetNodes() { _log.Debug("Loading schemas ..."); Schemas.Clear(); try { var actionName = string.Format("Getting schemas for {0} ...", DatabaseConnection.Name); _log.Debug(actionName); using (new WaitActionStatus(actionName)) { _log.DebugFormat("Creating connection for {0} ...", DatabaseConnection.Name); using (var connection = DatabaseConnection.CreateNewConnection()) { connection.OpenIfRequired(); var infoProvider = DatabaseConnection.DatabaseServer.GetInfoProvider(); var schemas = infoProvider.GetSchemas(connection); _log.DebugFormat("Loaded {0} schema(s).", schemas.Count); Schemas.AddRange(schemas); return(TreeNodeFactory.GetSchemaNodes(schemas, DatabaseConnection, DatabaseInstance)); } } } catch (Exception ex) { _log.ErrorFormat("Error opening connection and loading schemas."); _log.Error(ex.Message); throw new Exception("Error opening connection and loading schemas.", ex); } }