//common form processing routines
 public void InitializeForm()
 {
     EnableFormControls();
     this.txtDatabasePlatform.Text = _dbPlatform.ToString();
     InitDatabaseObject();
     if (this.ConnectionString.Trim().Length > 0)
     {
         InitPropertiesFromConnectionString();
     }
     else
     {
         NewConnectionDefinition();
     }
     SaveFormFields();
 }
        private void InitDbDef(DatabasePlatform dbPlatform)
        {
            int rowInx    = 0;
            int maxRowInx = _dbNamesAndLocations.GetLength(0) - 1;

            _dbPlatform     = dbPlatform;
            _dbPlatformDesc = dbPlatform.ToString();

            string configValue = AppConfig.GetStringValueFromConfigFile(_dbPlatformDesc, string.Empty);

            if (configValue.Length > 0)
            {
                string[] parsedConfig = configValue.Split('|');
                _dbNamespace = parsedConfig[0];
                _dbClassName = parsedConfig[1];
                _dbDllPath   = parsedConfig[2];
            }
            else
            {
                for (rowInx = 0; rowInx <= maxRowInx; rowInx++)
                {
                    if (_dbNamesAndLocations[rowInx, _dbPlatformDescInx].ToLower() == _dbPlatformDesc.ToLower())
                    {
                        _dbNamespace = _dbNamesAndLocations[rowInx, _dbNamespaceInx];
                        _dbClassName = _dbNamesAndLocations[rowInx, _dbClassNameInx];
                        _dbDllPath   = _dbNamesAndLocations[rowInx, _dbDllPathInx];
                    }
                }
            }
        }
 //common form processing routines
 public void InitializeForm()
 {
     _printer = new FormPrinter(this);
     EnableFormControls();
     SetHelpFileValues();
     this.txtDatabasePlatform.Text = _dbPlatform.ToString();
     this.cboEncryptionMode.Text   = this.cboEncryptionMode.Items[0].ToString();
     InitDatabaseObject();
     if (this.ConnectionString.Trim().Length > 0)
     {
         InitPropertiesFromConnectionString();
     }
     else
     {
         NewConnectionDefinition();
     }
     SaveFormFields();
 }
Example #4
0
 private PFConnectionDefinition BuildConnectionDefinition()
 {
     _connectionDefinition                        = new PFConnectionDefinition();
     _connectionDefinition.DbPlatform             = _dbPlatform;
     _connectionDefinition.ConnectionName         = _connectionName;
     _connectionDefinition.ConnectionString       = _connectionString;
     _connectionDefinition.ProviderDefinition     = _connectionManager.FindProvider(_dbPlatform.ToString());
     _connectionDefinition.ConnectionAccessStatus = _connectionAccessStatus;
     GetPlatformPropertiesAndKeys();
     return(_connectionDefinition);
 }
Example #5
0
        private PFDatabase InitDatabaseObject(DatabasePlatform dbPlat)
        {
            string     connStr = string.Empty;
            string     nmSpace = string.Empty;
            string     clsName = string.Empty;
            string     dllPath = string.Empty;
            PFDatabase db      = null;

            string configValue = AppConfig.GetStringValueFromConfigFile(dbPlat.ToString(), string.Empty);

            if (configValue.Length > 0)
            {
                string[] parsedConfig = configValue.Split('|');
                if (parsedConfig.Length != 3)
                {
                    _msg.Length = 0;
                    _msg.Append("Invalid config entry items for ");
                    _msg.Append(_dbPlatform.ToString());
                    _msg.Append(". Number of items after parse: ");
                    _msg.Append(parsedConfig.Length.ToString());
                    _msg.Append(".");
                    throw new System.Exception(_msg.ToString());
                }

                nmSpace = parsedConfig[0];
                clsName = parsedConfig[1];
                dllPath = parsedConfig[2];

                db = new PFDatabase(dbPlat.ToString(), dllPath, nmSpace + "." + clsName);
            }
            else
            {
                db = new PFDatabase(dbPlat);
            }
            return(db);
        }//end method
        }//end method

        private PFDatabase GetPFDatabaseObject(DatabasePlatform dbPlat)
        {
            string     dbPlatformDesc = DatabasePlatform.Unknown.ToString();
            PFDatabase db             = null;
            string     connStr        = string.Empty;
            string     nmSpace        = string.Empty;
            string     clsName        = string.Empty;
            string     dllPath        = string.Empty;

            dbPlatformDesc = dbPlat.ToString();

            string configValue = AppConfig.GetStringValueFromConfigFile(dbPlatformDesc, string.Empty);

            if (configValue.Trim() == string.Empty)
            {
                _msg.Length = 0;
                _msg.Append("Unable to find config entry for ");
                _msg.Append(dbPlatformDesc);
                throw new System.Exception(_msg.ToString());
            }
            string[] parsedConfig = configValue.Split('|');
            if (parsedConfig.Length != 3)
            {
                _msg.Length = 0;
                _msg.Append("Invalid config entry items for ");
                _msg.Append(dbPlatformDesc);
                _msg.Append(". Number of items after parse: ");
                _msg.Append(parsedConfig.Length.ToString());
                _msg.Append(".");
                throw new System.Exception(_msg.ToString());
            }

            nmSpace = parsedConfig[0];
            clsName = parsedConfig[1];
            dllPath = parsedConfig[2];

            db = new PFDatabase(dbPlatformDesc, dllPath, nmSpace + "." + clsName);


            return(db);
        }
        private PFDatabase GetDbObject(DatabasePlatform dbPlatform, string dbConnectionString)
        {
            string     dbPlatformDesc = DatabasePlatform.Unknown.ToString();
            PFDatabase db             = null;
            string     connStr        = string.Empty;
            string     nmSpace        = string.Empty;
            string     clsName        = string.Empty;
            string     dllPath        = string.Empty;

            try
            {
                dbPlatformDesc = dbPlatform.ToString();
                connStr        = dbConnectionString;

                string   configValue  = AppConfig.GetStringValueFromConfigFile(dbPlatformDesc, string.Empty);
                string[] parsedConfig = configValue.Split('|');
                nmSpace = parsedConfig[0];
                clsName = parsedConfig[1];
                dllPath = parsedConfig[2];

                db = new PFDatabase(dbPlatformDesc, dllPath, nmSpace + "." + clsName);
                db.ConnectionString = connStr;
                db.OpenConnection();
            }
            catch (System.Exception ex)
            {
                _msg.Length = 0;
                _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex));
                Program._messageLog.WriteLine(_msg.ToString());
                AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog);
            }
            finally
            {
                ;
            }

            return(db);
        }
        private string GetConnectionString(DatabasePlatform dbPlat)
        {
            string connStr        = string.Empty;
            string configKey      = "DefaultConnection_";
            string dbPlatformDesc = DatabasePlatform.Unknown.ToString();

            dbPlatformDesc = dbPlat.ToString();
            configKey      = configKey + dbPlatformDesc;

            string configValue = AppConfig.GetStringValueFromConfigFile(configKey, string.Empty);

            if (configValue.Trim() == string.Empty)
            {
                _msg.Length = 0;
                _msg.Append("Unable to find config entry for ");
                _msg.Append(configKey);
                throw new System.Exception(_msg.ToString());
            }

            connStr = configValue;

            return(connStr);
        }
 /// <summary>
 /// Constructor.
 /// </summary>
 public PFProviderDefinition(DatabasePlatform databasePlatform)
 {
     _databasePlatform = databasePlatform;
     _providerName     = _databasePlatform.ToString();
 }
Example #10
0
        /// <summary>
        /// Allows deleting of connection definitions from list of saved definitions.
        /// </summary>
        /// <param name="dbPlat">Database platform for which the connections are defined.</param>
        public void DeleteConnectionDefinition(DatabasePlatform dbPlat)
        {
            PFNameListDeleteListPrompt frm = null;

            try
            {
                frm              = new PFNameListDeleteListPrompt();
                frm.Caption      = "Delete Connection String Definition";
                frm.ListBoxLabel = "Select one or more items to delete:";
                frm.SourceFolder = Path.Combine(_connectionManager.ConnectionDefintionsLocation, dbPlat.ToString());
                frm.ShowDialog();
                frm.Close();
            }
            catch (System.Exception ex)
            {
                _msg.Length = 0;
                _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex));
                AppMessages.DisplayErrorMessage(_msg.ToString());
            }
            finally
            {
                frm = null;
            }
        }
Example #11
0
        /// <summary>
        /// Allows renaming of connection definitions from list of saved definitions.
        /// </summary>
        /// <param name="dbPlat">Database platform for which the connections are defined.</param>
        public void RenameConnectionDefinition(DatabasePlatform dbPlat)
        {
            PFNameListRenamePrompt frm = null;

            try
            {
                frm              = new PFNameListRenamePrompt();
                frm.Caption      = "Rename Connection String Definition";
                frm.SourceFolder = Path.Combine(_connectionManager.ConnectionDefintionsLocation, dbPlat.ToString());
                frm.ShowDialog();
                frm.Close();
            }
            catch (System.Exception ex)
            {
                _msg.Length = 0;
                _msg.Append("FileRename on RandomBooleansForm failed.\r\n");
                _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex));
                AppMessages.DisplayErrorMessage(_msg.ToString());
            }
            finally
            {
                frm = null;
            }
        }
Example #12
0
        /// <summary>
        /// Retrieves connection definitions defined and saved by current user for the specified database platform.
        /// </summary>
        /// <param name="dbPlat">DatabasePlatform used in the connection strings to be retrieved.</param>
        /// <returns>PFConnectionDefinition object.</returns>
        public PFConnectionDefinition GetConnectionDefinition(DatabasePlatform dbPlat)
        {
            PFConnectionDefinition conndef  = default(PFConnectionDefinition);
            string           pathToDefFiles = Path.Combine(_connectionManager.ConnectionDefintionsLocation, dbPlat.ToString());
            PFNameListPrompt nlp            = new PFNameListPrompt();

            string[] conndefFiles = Directory.GetFiles(pathToDefFiles, "*.xml", SearchOption.AllDirectories);

            if (conndefFiles.Length == 0)
            {
                _msg.Length = 0;
                _msg.Append("Unabled to find any saved connection definitions in ");
                _msg.Append(pathToDefFiles);
                _msg.Append(".");
                AppMessages.DisplayAlertMessage(_msg.ToString());
                return(conndef);
            }

            nlp.Text           = "Connection Definition Chooser ...";
            nlp.lblSelect.Text = "Select connection definition to open from list below:";
            foreach (string condefFile in conndefFiles)
            {
                string conndefName = Path.GetFileNameWithoutExtension(condefFile);
                nlp.lstNames.Items.Add(conndefName);
            }

            DialogResult res = nlp.ShowDialog();

            if (res == DialogResult.OK)
            {
                string selectedConnDefName = nlp.lstNames.SelectedItem.ToString();
                conndef = PFConnectionDefinition.LoadFromXmlFile(Path.Combine(pathToDefFiles, selectedConnDefName + ".xml"));
            }

            return(conndef);
        }
        public void CopyAdventureWorksDW(DatabasePlatform sourceDbPlatform, string sourceConnection,
                                         DatabasePlatform destinationDbPlatorm, string destinationConnection,
                                         bool replaceExistingTables, int batchSizeForDataWrites, string outputTablesSchema)
        {
            PFDatabase sourceDb      = null;
            PFDatabase destinationDb = null;
            Stopwatch  sw            = new Stopwatch();

            try
            {
                _msg.Length = 0;
                _msg.Append("CopyAdventureWorksDW started ...\r\n");
                Program._messageLog.WriteLine(_msg.ToString());

                sw.Start();

                sourceDb = GetDbObject(sourceDbPlatform, sourceConnection);
                if (sourceDb.IsConnected == false)
                {
                    _msg.Length = 0;
                    _msg.Append("Unable to connect to source datatabase ");
                    _msg.Append(sourceDbPlatform.ToString());
                    _msg.Append(Environment.NewLine);
                    _msg.Append("Connection String: ");
                    _msg.Append(Environment.NewLine);
                    _msg.Append(sourceConnection);
                    throw new System.Exception(_msg.ToString());
                }

                destinationDb = GetDbObject(destinationDbPlatorm, destinationConnection);
                if (destinationDb.IsConnected == false)
                {
                    _msg.Length = 0;
                    _msg.Append("Unable to connect to destination datatabase ");
                    _msg.Append(destinationDbPlatorm.ToString());
                    _msg.Append(Environment.NewLine);
                    _msg.Append("Connection String: ");
                    _msg.Append(Environment.NewLine);
                    _msg.Append(destinationConnection);
                    throw new System.Exception(_msg.ToString());
                }

                _msg.Length = 0;
                _msg.Append("Time to connect to databases: ");
                _msg.Append(sw.FormattedElapsedTime);
                Program._messageLog.WriteLine(_msg.ToString());

                CopyTables(sourceDb, destinationDb, replaceExistingTables, batchSizeForDataWrites, outputTablesSchema);
            }
            catch (System.Exception ex)
            {
                _msg.Length = 0;
                _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex));
                Program._messageLog.WriteLine(_msg.ToString());
                AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog);
            }
            finally
            {
                if (sourceDb.IsConnected)
                {
                    sourceDb.CloseConnection();
                }
                sourceDb = null;

                if (destinationDb.IsConnected)
                {
                    destinationDb.CloseConnection();
                }
                destinationDb = null;

                sw.Stop();

                _msg.Length = 0;
                _msg.Append("\r\n... CopyAdventureWorksDW finished.");
                Program._messageLog.WriteLine(_msg.ToString());
                _msg.Length = 0;
                _msg.Append(Environment.NewLine);
                _msg.Append("Elapsed copy time: ");
                _msg.Append(sw.FormattedElapsedTime);
                _msg.Append(Environment.NewLine);
                Program._messageLog.WriteLine(_msg.ToString());
            }
        }