//------------------------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Gets the database names.
        /// </summary>
        /// <param name="sessionID">The session ID.</param>
        /// <returns></returns>
        public static List <string> GetDatabaseNames(string sessionID)
        {
            logger.Debug(EnumMethod.START);
            PMADatabaseController databaseController = null;

            try
            {
                databaseController = new PMADatabaseController(configManager.PMAServerManagerInfo.DatabaseServer, configManager.PMAServerManagerInfo.DatabaseUser, configManager.PMAServerManagerInfo.DatabaseUserPassword);
                if (VerifySessionPrivileges(sessionID, PRIVILEGE_SQL))
                {
                    return(databaseController.GetDatabaseNames());
                }
                else
                {
                    return(null);
                }
            }
            finally
            {
                if (databaseController != null)
                {
                    databaseController.Dispose();
                }
                logger.Debug(EnumMethod.END);
            }
        }
        //------------------------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Excutes the query.
        /// </summary>
        /// <param name="query">The query.</param>
        /// <param name="database">The database.</param>
        /// <param name="sessionID">The session ID.</param>
        /// <returns></returns>
        public static DataSet ExcuteQuery(string query, string database, int numberOfRows, string sessionID)
        {
            logger.Debug(EnumMethod.START);
            PMADatabaseController databaseController = null;
            DataSet ds = null;

            try
            {
                databaseController = new PMADatabaseController(configManager.PMAServerManagerInfo.DatabaseServer, configManager.PMAServerManagerInfo.DatabaseUser, configManager.PMAServerManagerInfo.DatabaseUserPassword);
                if (VerifySessionPrivileges(sessionID, PRIVILEGE_SQL))
                {
                    ds = databaseController.ExecuteQuery(query, database, numberOfRows);
                    SendMail(query, AlertType.SQL_ALERT, sessionID);
                }
                return(ds);
            }
            finally
            {
                logger.Debug(EnumMethod.END);
                if (databaseController != null)
                {
                    databaseController.Dispose();
                }
            }
        }
        //------------------------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Excutes the non query.
        /// </summary>
        /// <param name="query">The query.</param>
        /// <param name="database">The database.</param>
        /// <param name="sessionID">The session ID.</param>
        /// <returns></returns>
        public static string ExcuteNonQuery(string query, string database, string sessionID)
        {
            logger.Debug(EnumMethod.START);
            PMADatabaseController databaseController = null;
            string result = string.Empty;

            try
            {
                databaseController = new PMADatabaseController(configManager.PMAServerManagerInfo.DatabaseServer, configManager.PMAServerManagerInfo.DatabaseUser, configManager.PMAServerManagerInfo.DatabaseUserPassword);
                if (VerifySessionPrivileges(sessionID, PRIVILEGE_SQL))
                {
                    result = databaseController.ExecuteNonQuery(query, database);
                    SendMail(query, AlertType.SQL_ALERT, sessionID);
                }
                return(result);
            }
            finally
            {
                if (databaseController != null)
                {
                    databaseController.Dispose();
                }
                logger.Debug(EnumMethod.END);
            }
        }
 public bool CauseValidation()
 {
     configManager.ClearMessageList();
     label_Wait.Visible = true;
     bool result = false;
     PMADatabaseController dbController = new PMADatabaseController();
     if (textBox_Database.Text != string.Empty && !dbController.CreateDBConnection(textBox_Database.Text, textBox_DBUser.Text, textBox_DBPassword.Text))
     {
         configManager.Message.Add(dbController.Message);
         result = false;
     }
     else result = true;
     label_Wait.Visible = false;
     return result;
 }
예제 #5
0
        //-------------------------------------------------------------------------------------------------
        /// <summary>
        /// Runs the DB size watch.
        /// </summary>
        /// <param name="dbName">Name of the db.</param>
        /// <param name="alertLevel">The alert level.</param>
        private void RunDBSizeWatch(string dbName, int alertLevel)
        {
            configManager.Logger.Debug(EnumMethod.START);
            PMADatabaseController dbController = new PMADatabaseController(configManager.SystemAnalyzerInfo.Database,
                                                                           configManager.SystemAnalyzerInfo.DBUser, configManager.SystemAnalyzerInfo.DBPassword);

            if (dbController.GetDBSize(dbName) > alertLevel)
            {
                configManager.Message.Add("Database Server : " + configManager.SystemAnalyzerInfo.Database + ": Database " + dbName +
                                          " is exceeding alert level of " + alertLevel + " MB");
                if (dbName == "ASPState")
                {
                    if (!configManager.FlagInfo.FlagedASPStateSizeAlert)
                    {
                        postAlert = true;
                    }
                    configManager.FlagInfo.FlagedASPStateSizeAlert = true;
                }
                else if (dbName == "tempdb")
                {
                    if (!configManager.FlagInfo.FlagedTempDBMemoryAlert)
                    {
                        postAlert = true;
                    }
                    configManager.FlagInfo.FlagedTempDBMemoryAlert = true;
                }
            }
            else
            {
                if (dbName == "ASPState")
                {
                    configManager.FlagInfo.FlagedASPStateSizeAlert = false;
                }
                else if (dbName == "tempdb")
                {
                    configManager.FlagInfo.FlagedTempDBMemoryAlert = false;
                }
            }
            configManager.Logger.Debug(EnumMethod.END);
        }
 //------------------------------------------------------------------------------------------------------------------------
 /// <summary>
 /// Excutes the query.
 /// </summary>
 /// <param name="query">The query.</param>
 /// <param name="database">The database.</param>
 /// <param name="sessionID">The session ID.</param>
 /// <returns></returns>
 public static DataSet ExcuteQuery(string query, string database,int numberOfRows, string sessionID)
 {
     logger.Debug(EnumMethod.START);
     PMADatabaseController databaseController = null;
     DataSet ds = null;
     try
     {
         databaseController = new PMADatabaseController(configManager.PMAServerManagerInfo.DatabaseServer, configManager.PMAServerManagerInfo.DatabaseUser, configManager.PMAServerManagerInfo.DatabaseUserPassword);
         if (VerifySessionPrivileges(sessionID, PRIVILEGE_SQL))
         {
             ds = databaseController.ExecuteQuery(query, database, numberOfRows);
             SendMail(query, AlertType.SQL_ALERT, sessionID);
         }
         return ds;
     }
     finally
     {
         logger.Debug(EnumMethod.END);
         if (databaseController != null)
             databaseController.Dispose();
     }
 }
 //------------------------------------------------------------------------------------------------------------------------
 /// <summary>
 /// Excutes the non query.
 /// </summary>
 /// <param name="query">The query.</param>
 /// <param name="database">The database.</param>
 /// <param name="sessionID">The session ID.</param>
 /// <returns></returns>
 public static string ExcuteNonQuery(string query, string database, string sessionID)
 {
     logger.Debug(EnumMethod.START);
     PMADatabaseController databaseController = null;
     string result = string.Empty ;
     try
     {
         databaseController = new PMADatabaseController(configManager.PMAServerManagerInfo.DatabaseServer, configManager.PMAServerManagerInfo.DatabaseUser, configManager.PMAServerManagerInfo.DatabaseUserPassword);
         if (VerifySessionPrivileges(sessionID, PRIVILEGE_SQL))
         {
             result = databaseController.ExecuteNonQuery(query, database);
             SendMail(query, AlertType.SQL_ALERT, sessionID);
         }
         return result;
     }
     finally
     {
         if (databaseController != null)
             databaseController.Dispose();
         logger.Debug(EnumMethod.END);
     }
 }
 //-------------------------------------------------------------------------------------------------
 /// <summary>
 /// Runs the DB size watch.
 /// </summary>
 /// <param name="dbName">Name of the db.</param>
 /// <param name="alertLevel">The alert level.</param>
 private void RunDBSizeWatch(string dbName,int alertLevel)
 {
     configManager.Logger.Debug(EnumMethod.START);
     PMADatabaseController dbController = new PMADatabaseController(configManager.SystemAnalyzerInfo.Database,
             configManager.SystemAnalyzerInfo.DBUser, configManager.SystemAnalyzerInfo.DBPassword);
     if (dbController.GetDBSize(dbName) > alertLevel)
     {
         configManager.Message.Add("Database Server : " + configManager.SystemAnalyzerInfo.Database + ": Database " + dbName +
             " is exceeding alert level of " + alertLevel + " MB");
         if (dbName == "ASPState")
         {
             if (!configManager.FlagInfo.FlagedASPStateSizeAlert)
             {
                 postAlert = true;
             }
             configManager.FlagInfo.FlagedASPStateSizeAlert = true;
         }
         else if (dbName == "tempdb")
         {
             if (!configManager.FlagInfo.FlagedTempDBMemoryAlert)
             {
                 postAlert = true;
             }
             configManager.FlagInfo.FlagedTempDBMemoryAlert = true;
         }
     }
     else
     {
         if(dbName == "ASPState")
         {
             configManager.FlagInfo.FlagedASPStateSizeAlert = false;
         }
         else if(dbName == "tempdb")
         {
             configManager.FlagInfo.FlagedTempDBMemoryAlert = false;
         }
     }
     configManager.Logger.Debug(EnumMethod.END);
 }
        //------------------------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Gets the database names.
        /// </summary>
        /// <param name="sessionID">The session ID.</param>
        /// <returns></returns>
        public static List<string> GetDatabaseNames(string sessionID)
        {
            logger.Debug(EnumMethod.START);
            PMADatabaseController databaseController = null;

             try
             {
                 databaseController = new PMADatabaseController(configManager.PMAServerManagerInfo.DatabaseServer, configManager.PMAServerManagerInfo.DatabaseUser, configManager.PMAServerManagerInfo.DatabaseUserPassword);
                 if (VerifySessionPrivileges(sessionID, PRIVILEGE_SQL))
                 {
                     return databaseController.GetDatabaseNames();
                 }
                 else return null;
             }
             finally
             {
                 if (databaseController != null)
                     databaseController.Dispose();
                 logger.Debug(EnumMethod.END);
             }
        }
 //---------------------------------------------------------------------------------------------------------------------------
 /// <summary>
 /// Tests the connection.
 /// </summary>
 private void TestConnection()
 {
     PMADatabaseController dbController = new PMADatabaseController(textBox_Database.Text, textBox_User.Text, textBox_Password.Text);
     if (dbController.IsConnectionSet)
     {
         _connectionMessage = "Connection is setup Properly";
         isConnectionSet = true;
     }
     else
     {
         _connectionMessage = dbController.Message;
         isConnectionSet = false;
     }
     MessageBox.Show(_connectionMessage);
 }