public static void ConfigureLog4Net() { IConfigurationProvider configProvider = Bootstrapper.GetContainer().Resolve <IConfigurationProvider>(); string logName = configProvider.GetAppSettings("log4net:FileName"); string applicationName = configProvider.GetAppSettings("log4net:ApplicationName"); string log4NetPath = configProvider.GetAppSettings("log4net:ConfigFileName"); if (logName == null) { logName = Assembly.GetEntryAssembly().GetName().Name; } GlobalContext.Properties["appName"] = applicationName; GlobalContext.Properties["fileName"] = logName; if (log4NetPath == null || !File.Exists(log4NetPath)) { XmlConfigurator.Configure(); } else { FileInfo fi = new FileInfo(log4NetPath); XmlConfigurator.Configure(fi); } }
public override void ExecuteBulkCopy(IDataReader reader, string destinationTable, IList <KeyValuePair <string, string> > mappings) { if (reader == null) { Logger.Log(LevelEnum.Error, Resources.ERR_DBREADER_ISNULL); throw new ArgumentNullException(nameof(reader), Resources.ERR_DBREADER_ISNULL); } if (string.IsNullOrWhiteSpace(destinationTable)) { Logger.Log(LevelEnum.Error, Resources.ERR_TABLENAME_ISNULL); throw new ArgumentNullException(nameof(destinationTable), Resources.ERR_TABLENAME_ISNULL); } Logger.LogFormat(LevelEnum.Verbose, Resources.VERBOSE_BULK_INSERT, destinationTable); IConfigurationProvider config = Bootstrapper.GetContainer().Resolve <IConfigurationProvider>(); using (OracleConnection destinationConnection = (OracleConnection)CreateConnection()) { destinationConnection.Open(); using (OracleBulkCopy bulkCopy = new OracleBulkCopy(destinationConnection)) { bulkCopy.DestinationTableName = destinationTable; bulkCopy.BatchSize = Convert.ToInt32(config.GetAppSettings(DrakeQuest.Configuration.Constants.ConfigBulkCopyBatchSize)); bulkCopy.BulkCopyTimeout = Convert.ToInt32(config.GetAppSettings(DrakeQuest.Configuration.Constants.ConfigBulkCopyTimeout)); if (mappings != null) { foreach (var mapping in mappings) { bulkCopy.ColumnMappings.Add(mapping.Key, mapping.Value); } } bulkCopy.WriteToServer(reader); //bulkCopy.OracleRowsCopied += new OracleRowsCopiedEventHandler(bulkCopy_OracleRowsCopied); bulkCopy.Close(); bulkCopy.Dispose(); destinationConnection.Dispose(); } } Logger.LogFormat(LevelEnum.Verbose, Resources.VERBOSE_BULK_INSERT_END, destinationTable); }