private void tmrMnuContextoLvw_Tick(object sender, EventArgs e)
        {
            tmrMnuContextoLvw.Enabled = false;
            string[] _Split;
            string   _Comando            = "";
            string   _Mensagem           = "";
            string   _TipoObjeto         = "";
            string   _Fonte              = "";
            string   _OwnerNomeObjeto    = "";
            decimal  _IdBackup1          = 0;
            decimal  _IdBackup2          = 0;
            string   _NomeArquivoBackup1 = "";
            string   _NomeArquivoBackup2 = "";
            string   _NomeArquivoAtual   = "";
            string   _Linha_de_Comando   = "";

            _Split = _TagMenuContextoClicado.Split(":".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

            _Comando = _Split[0];

            switch (_Comando)
            {
            case "ExtractBackup":
                Cursor.Current = Cursors.WaitCursor;
                _IdBackup1     = decimal.Parse(_Split[1]);
                _Fonte         = _csOracle.ExtractBackupObjeto(_IdBackup1, ref _OwnerNomeObjeto, ref _Mensagem);
                if (_Fonte.Trim().Length == 0)
                {
                    if (_Mensagem.Trim().Length > 0)
                    {
                        Cursor.Current = Cursors.Default;
                        MessageBox.Show("Problemas para extrair backup\n" + _Mensagem, "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        Cursor.Current = Cursors.Default;
                        MessageBox.Show("Problemas para extrair backup", "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    _NomeArquivoBackup1 = "Backup_" + _IdBackup1 + "_" + _OwnerNomeObjeto + ".sql";
                    csUtil.SalvarEAbrir(_Fonte, _NomeArquivoBackup1);
                }
                Cursor.Current = Cursors.Default;
                break;

            case "CompararBackupComVersaoAtual":
                Cursor.Current = Cursors.WaitCursor;
                _IdBackup1     = decimal.Parse(_Split[1]);
                _Fonte         = _csOracle.ExtractBackupObjeto(_IdBackup1, ref _OwnerNomeObjeto, ref _Mensagem);
                if (_Fonte.Trim().Length == 0)
                {
                    if (_Mensagem.Trim().Length > 0)
                    {
                        Cursor.Current = Cursors.Default;
                        MessageBox.Show("Problemas para extrair backup\n" + _Mensagem, "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        Cursor.Current = Cursors.Default;
                        MessageBox.Show("Problemas para extrair backup", "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    _NomeArquivoBackup1 = Path.GetTempPath() + "Backup_" + _IdBackup1 + "_" + _OwnerNomeObjeto + ".sql";
                    File.WriteAllText(_NomeArquivoBackup1, _Fonte, Encoding.Default);
                    _Fonte            = _csOracle.ExtractDDL(_Username, _Password, _Database, _OwnerNomeObjeto, ref _TipoObjeto, ref _Mensagem);
                    _NomeArquivoAtual = Path.GetTempPath() + _OwnerNomeObjeto + ".sql";
                    File.WriteAllText(_NomeArquivoAtual, _Fonte, Encoding.Default);

                    _Linha_de_Comando = "/command:diff /path:\"" + _NomeArquivoAtual + "\" /path2:\"" + _NomeArquivoBackup1 + "\"";
                    System.Diagnostics.Process process = new System.Diagnostics.Process();
                    process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
                    process.StartInfo.FileName    = this.CaminhoExeTortoiseSVN;
                    process.StartInfo.Arguments   = _Linha_de_Comando;
                    process.Start();
                }
                Cursor.Current = Cursors.Default;
                break;

            case "ExtractBackups":
                Cursor.Current = Cursors.WaitCursor;

                _Split = _Split[1].Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

                for (int i = 0; i < _Split.Length; i++)
                {
                    _IdBackup1 = decimal.Parse(_Split[i]);
                    _Fonte     = _csOracle.ExtractBackupObjeto(_IdBackup1, ref _OwnerNomeObjeto, ref _Mensagem);
                    if (_Fonte.Trim().Length == 0)
                    {
                        if (_Mensagem.Trim().Length > 0)
                        {
                            Cursor.Current = Cursors.Default;
                            MessageBox.Show("Problemas para extrair backup\n" + _Mensagem, "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            Cursor.Current = Cursors.Default;
                            MessageBox.Show("Problemas para extrair backup", "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        _NomeArquivoBackup1 = "Backup_" + _IdBackup1 + "_" + _OwnerNomeObjeto + ".sql";
                        csUtil.SalvarEAbrir(_Fonte, _NomeArquivoBackup1);
                    }
                }
                Cursor.Current = Cursors.Default;
                break;

            case "CompararBackups":

                Cursor.Current = Cursors.WaitCursor;

                _Split = _Split[1].Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

                _IdBackup1 = decimal.Parse(_Split[0]);
                _Fonte     = _csOracle.ExtractBackupObjeto(_IdBackup1, ref _OwnerNomeObjeto, ref _Mensagem);
                if (_Fonte.Trim().Length == 0)
                {
                    if (_Mensagem.Trim().Length > 0)
                    {
                        Cursor.Current = Cursors.Default;
                        MessageBox.Show("Problemas para extrair backup\n" + _Mensagem, "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        Cursor.Current = Cursors.Default;
                        MessageBox.Show("Problemas para extrair backup", "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    _NomeArquivoBackup1 = Path.GetTempPath() + "Backup_" + _IdBackup1 + "_" + _OwnerNomeObjeto + ".sql";
                    File.WriteAllText(_NomeArquivoBackup1, _Fonte, Encoding.Default);

                    _IdBackup2 = decimal.Parse(_Split[1]);
                    _Fonte     = _csOracle.ExtractBackupObjeto(_IdBackup2, ref _OwnerNomeObjeto, ref _Mensagem);

                    if (_Fonte.Trim().Length == 0)
                    {
                        if (_Mensagem.Trim().Length > 0)
                        {
                            Cursor.Current = Cursors.Default;
                            MessageBox.Show("Problemas para extrair backup\n" + _Mensagem, "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            Cursor.Current = Cursors.Default;
                            MessageBox.Show("Problemas para extrair backup", "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        _NomeArquivoBackup2 = Path.GetTempPath() + "Backup_" + _IdBackup2 + "_" + _OwnerNomeObjeto + ".sql";
                        File.WriteAllText(_NomeArquivoBackup2, _Fonte, Encoding.Default);

                        if (_IdBackup1 > _IdBackup2)
                        {
                            _Linha_de_Comando = "/command:diff /path:\"" + _NomeArquivoBackup1 + "\" /path2:\"" + _NomeArquivoBackup2 + "\"";
                        }
                        else
                        {
                            _Linha_de_Comando = "/command:diff /path:\"" + _NomeArquivoBackup2 + "\" /path2:\"" + _NomeArquivoBackup1 + "\"";
                        }

                        System.Diagnostics.Process process = new System.Diagnostics.Process();
                        process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
                        process.StartInfo.FileName    = this.CaminhoExeTortoiseSVN;
                        process.StartInfo.Arguments   = _Linha_de_Comando;
                        process.Start();
                    }
                }
                Cursor.Current = Cursors.Default;
                break;
            }
        }