コード例 #1
0
 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);
     }
 }