/// <summary>
		/// Creates a new instance of a <see cref="SqlClientUploadStreamProvider" /> with the specified configuration settings.
		/// </summary>
        /// <param name="configuration">The <see cref="NameValueConfigurationSection" /> object that holds the configuration settings.</param>
        public OracleBlobUploadStreamProvider(UploadStreamProviderElement configuration)
		{
            string criteriaMethodString = configuration["criteriaMethod"];

            if (criteriaMethodString != null && criteriaMethodString.Length != 0)
                _criteriaMethod = (CriteriaMethod)Enum.Parse(typeof(CriteriaMethod), criteriaMethodString, true);
            else
                _criteriaMethod = CriteriaMethod.SequenceTrigger;

            if (_criteriaMethod == CriteriaMethod.Custom)
            {
                _criteriaGenerator = TypeCache.GetInstance(configuration["criteriaGenerator"], configuration) as ICriteriaGenerator;

                if (_criteriaGenerator == null)
                    throw new ApplicationException("Could not instantiate criteria generator.");
            }

#if NET2
            string connectionStringName = configuration["connectionStringName"];

            if (!string.IsNullOrEmpty(connectionStringName))
                _connectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;
            else
#endif
                _connectionString = configuration["connectionString"];

            _table = configuration["table"];
            _keyField = configuration["keyField"];
            _dataField = configuration["dataField"];
            _fileNameField = configuration["fileNameField"];
            _sequenceName = configuration["sequenceName"];
		}