public OracleErrorLog(IDictionary config)
{
if (config == null)
throw new ArgumentNullException("config");
var connectionString = ConnectionStringHelper.GetConnectionString(config);
//
// If there is no connection string to use then throw an
// exception to abort construction.
//
if (connectionString.Length == 0)
throw new ApplicationException("Connection string is missing for the Oracle error log.");
_connectionString = connectionString;
//
// Initialize the provider factory if it hasn't already been done.
//
var providerName = ConnectionStringHelper.GetConnectionStringProviderName(config);
_dbProviderFactory = GetDbProviderFactory(providerName);
//
// Set the application name as this implementation provides
// per-application isolation over a single store.
//
var appName = (string) config["applicationName"] ?? string.Empty;
if (appName.Length > _maxAppNameLength)
{
throw new ApplicationException(string.Format(
"Application name is too long. Maximum length allowed is {0} characters.",
_maxAppNameLength.ToString("N0")));
}
ApplicationName = appName;
SchemaOwner = (string)config["schemaOwner"];
}