public Database Assemble(string name, ConnectionStringSettings connectionStringSettings, IConfigurationSource configurationSource)
        {
            ODP10ConnectionSettings oracleConnectionSettings = ODP10ConnectionSettings.GetSettings(configurationSource);

            if (oracleConnectionSettings != null)
            {
                ODP10ConnectionData oracleConnectionData = oracleConnectionSettings.ODP10ConnectionsData.Get(name);
                if (oracleConnectionData != null)
                {
                    IODP10Package[] packages = new IODP10Package[oracleConnectionData.Packages.Count];
                    int             i        = 0;
                    foreach (IODP10Package package in oracleConnectionData.Packages)
                    {
                        packages[i++] = package;
                    }

                    return(new ODP10Database(connectionStringSettings.ConnectionString, packages));
                }
            }

            return(new ODP10Database(connectionStringSettings.ConnectionString));
        }