Esempio n. 1
0
        public DatabaseTools()
        {
            InitializeComponent();

            /*** REMOVE ONCE THE UNIFIED WIX INSTALLERS ARE COMPLETE ***/
            // Get database versioning
            OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();
            int dbMajor;
            int dbMinor;
            dbm.GetSchemaVersion(out dbMajor, out dbMinor);
            lcDatabaseVersion.Text = "Database version : " + dbMajor.ToString() + "." + dbMinor.ToString();
            int dbReqMajor;
            int dbRejMinor;
            dbm.GetRequiredSchemaVersion(out dbReqMajor, out dbRejMinor);
            lcReqDatabaseVersion.Text = "Required Database version :" + dbReqMajor.ToString() + "." + dbRejMinor.ToString();
            /*** REMOVE ONCE THE UNIFIED WIX INSTALLERS ARE COMPLETE ***/

            /*** ADD ONCE THE UNIFIED WIX INSTALLERS ARE COMPLETE ***/
            //OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();
            /*** ADD ONCE THE UNIFIED WIX INSTALLERS ARE COMPLETE ***/
            int DataSize;
            int LogSize;
            dbm.GetDatabaseSize(out DataSize, out LogSize);
            lcDatabaseSize.Text = "Database size : Data " + DataSize.ToString() + " MB, Logs " + LogSize.ToString() + " MB";
        }
Esempio n. 2
0
        private void sbBackupDB_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.AddExtension = true;
            sfd.DefaultExt = "bak";
            sfd.FileName = "OMLDatabase";
            sfd.Filter = "Backup files (*.bak)|*.bak";
            sfd.FilterIndex = 1;
            sfd.OverwritePrompt = true;
            sfd.InitialDirectory = OMLEngine.FileSystemWalker.DBBackupDirectory;

            if (sfd.ShowDialog() == DialogResult.OK)
            {
                OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();
                Cursor = Cursors.WaitCursor;
                if (dbm.BackupDatabase(sfd.FileName))
                {
                    Cursor = Cursors.Default;
                    XtraMessageBox.Show("The backup has been successful", "Database Backup");
                }
                else
                {
                    Cursor = Cursors.Default;
                    XtraMessageBox.Show("The backup has failed with error : " + OMLEngine.DatabaseManagement.DatabaseInformation.LastSQLError, "Database Backup");
                }
            }
        }
Esempio n. 3
0
        private bool TestDBConnection(AddInHost host)
        {
            try
            {
                //return OMLEngine.Settings.OMLSettings.IsConnected;
                OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();
                OMLEngine.DatabaseManagement.DatabaseInformation.SQLState state = dbm.CheckDatabase();
                switch (state)
                {
                    case OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OK:
                        return true;
                    case OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OMLDBVersionCodeOlderThanSchema:
                        throw (new Exception("The OML client is an older version than the database. Please upgrade the client components!"));
                    //is this right?
                    case OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OMLDBVersionNotFound:
                        return true;
                    case OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.LoginFailure:
                        return false;
                    case OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OMLDBVersionUpgradeRequired:
                        {
                            //TODO: do upgrade bits here...
                            return true;
                        }
                    default:
                        throw (new Exception(OMLEngine.DatabaseManagement.DatabaseInformation.LastSQLError));
                }
            }
            catch (Exception ex)
            {
                host.MediaCenterEnvironment.Dialog(
                ex.Message,
                "CONNECTION FAILED", Microsoft.MediaCenter.DialogButtons.Ok, 5, false);
                return false;

                //this._session.Close();
            }
            return true;
        }
Esempio n. 4
0
        private void sbRestoreDB_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.AddExtension = true;
            ofd.DefaultExt = "bak";
            ofd.Filter = "Backup files (*.bak)|*.bak";
            ofd.FilterIndex = 1;
            ofd.InitialDirectory = OMLEngine.FileSystemWalker.DBBackupDirectory;

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();
                if (dbm.RestoreDatabase(ofd.FileName))
                {
                    Cursor = Cursors.Default;
                    XtraMessageBox.Show("The restore has been successful. Please close and reopen any open OML applications", "Database Restore");
                }
                else
                {
                    Cursor = Cursors.Default;
                    XtraMessageBox.Show("The restore has failed with error : " + OMLEngine.DatabaseManagement.DatabaseInformation.LastSQLError, "Database Restore");
                }
            }
            OMLEngine.ImageManager.RemoveAllCachedImages();
        }
Esempio n. 5
0
        private void sbViewDatabaseFileInfo_Click(object sender, EventArgs e)
        {
            OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();

            List<OMLEngine.DatabaseManagement.DatabaseManagement.DatabaseFile> DBFS = dbm.GetDatabaseFileInfo();

            if (DBFS != null)
            {
                StringBuilder sb = new StringBuilder();

                foreach (OMLEngine.DatabaseManagement.DatabaseManagement.DatabaseFile DBF in DBFS)
                {
                    sb.AppendLine("Name : " + DBF.Name + ", " +
                        "Size : " + DBF.SizeString + ", " +
                        "Max Size : " + DBF.MaxSizeString + ", " +
                        "Growth : " + DBF.GrowthString);

                }

                MessageBox.Show(sb.ToString(), "Database File Information");
            }
        }
Esempio n. 6
0
 private void sbRecreateDatabase_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("This will recreate the database deleting ALL movies, genres, people etc.\n\t Are you sure?", "Recreate database", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
     {
         if (MessageBox.Show("Are you really sure?", "Recreate database", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
         {
             OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();
             dbm.CreateSchema();
             OMLEngine.ImageManager.RemoveAllCachedImages();
             MessageBox.Show("The database has been recreated.\n Please restart any open OML appliations.", "Recreate database", MessageBoxButtons.OK);
         }
     }
 }
Esempio n. 7
0
 private void sbOptimizeDB_Click(object sender, EventArgs e)
 {
     if (XtraMessageBox.Show("This may take some time, do you want to continue?", "Optimize Database", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();
         if (dbm.OptimiseDatabase())
         {
             Cursor = Cursors.Default;
             XtraMessageBox.Show("The routine has been successful", "Database Optimization");
         }
         else
         {
             Cursor = Cursors.Default;
             XtraMessageBox.Show("The process has failed with error : " + OMLEngine.DatabaseManagement.DatabaseInformation.LastSQLError, "Database Optimization");
         }
     }
 }
Esempio n. 8
0
        /*** REMOVE ONCE THE UNIFIED WIX INSTALLERS ARE COMPLETE ***/
        /// <summary>
        /// Load the db connection settings and try to connect to the database.
        /// Give option to specify alternative sql connection details if connection
        /// attempt fails
        /// </summary>
        /// <returns></returns>
        private bool ValidateDatabase()
        {
            // Run database diagnostics
            OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();

            OMLEngine.DatabaseManagement.DatabaseInformation.SQLState state = dbm.CheckDatabase();

            if (state == OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OMLDBVersionUpgradeRequired)
            {
                XtraMessageBox.Show("The OML database is an older version. Press OK to upgrade the database!", "Problem running DBEditor", MessageBoxButtons.OK);

                // Find the script path. Also include hack to find scripts if running from VS rathr than c:\program files....
                string ScriptsPath = Path.GetDirectoryName(Application.ExecutablePath) + "\\SQLInstaller";
                if (Directory.Exists( Path.GetDirectoryName(Application.ExecutablePath) + "\\..\\..\\..\\SQL Scripts"))
                {
                    ScriptsPath = Path.GetDirectoryName(Application.ExecutablePath) + "\\..\\..\\..\\SQL Scripts";
                }

                dbm.UpgradeSchemaVersion(ScriptsPath);

                // Retest the connection
                state = dbm.CheckDatabase();
            }

            switch (state)
            {
                case OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OK:
                    return true;

                case OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OMLDBVersionCodeOlderThanSchema:
                    XtraMessageBox.Show("The OML client is an older version than the database. Please upgrade the client components!", "Problem running DBEditor", MessageBoxButtons.OK);
                    return false;

                case OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OMLDBVersionNotFound:
                    return false;

                case OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.LoginFailure:
                    if (XtraMessageBox.Show("This could be caused by the OML Server computer being unavailable. Do you want to specify the server used?", "Problem accessing database!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        SelectDatabaseServer sds = new SelectDatabaseServer();
                        if (sds.ShowDialog() == DialogResult.OK)
                        {
                            OMLEngine.DatabaseManagement.DatabaseInformation.SQLServerName = sds.Server;
                            OMLEngine.DatabaseManagement.DatabaseInformation.SQLInstanceName = sds.SQLInstance;
                            XtraMessageBox.Show("Please restart the program for the changes to take effect!");
                        }
                    }
                    return false;

                    break;
                default:
                    XtraMessageBox.Show(state.ToString() + " : " + OMLEngine.DatabaseManagement.DatabaseInformation.LastSQLError, "Problem accessing database!");
                    return false;
            }
        }
Esempio n. 9
0
 private void ConfigureSQL()
 {
     OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();
     dbm.ConfigureSQL(ScriptsPath);
 }
Esempio n. 10
0
        private void CheckAndUpgradeSchema()
        {
            OMLEngine.DatabaseManagement.DatabaseManagement dbm = new OMLEngine.DatabaseManagement.DatabaseManagement();

            OMLEngine.DatabaseManagement.DatabaseInformation.SQLState state = dbm.CheckDatabase();

            if (state == OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OMLDBNotFound)
            {
                MessageBox.Show("Detected SQL Server but cannot find the database. Click OK to create the database.", "Databse problem", MessageBoxButtons.OK);
                // OML Instance but OML database does not exist
                dbm.ConfigureSQL(ScriptsPath);
                dbm.UpgradeSchemaVersion(ScriptsPath);

                // Retest the connection
                state = dbm.CheckDatabase();
            }

            if (state == OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OMLDBVersionUpgradeRequired)
            {
                MessageBox.Show("Detected the OML Database but it requires updating. Click OK to update the database.", "Databse problem", MessageBoxButtons.OK);
                dbm.UpgradeSchemaVersion(ScriptsPath);

                // Retest the connection
                state = dbm.CheckDatabase();
            }

            if (state == OMLEngine.DatabaseManagement.DatabaseInformation.SQLState.OK)
            {
                MessageBox.Show("The database appears all fine.", "Database status", MessageBoxButtons.OK);
                return;
            }
        }