protected void WriteBatch(TInput[] data) { if (data == null || data.Length == 0) { return; } if (ProgressCount == 0) { NLogStartOnce(); } try { if (BeforeBatchWrite != null) { data = BeforeBatchWrite.Invoke(data); } if (!WasWritingPrepared) { PrepareWrite(); WasWritingPrepared = true; } BulkInsertData(data); LogProgressBatch(data.Length); AfterBatchWrite?.Invoke(data); } catch (Exception e) { ThrowOrRedirectError(e, ErrorSource.ConvertErrorData <TInput[]>(data)); } }
internal virtual void WriteBatch(ref TInput[] data) { if (ProgressCount == 0) { NLogStart(); } if (BeforeBatchWrite != null) { data = BeforeBatchWrite.Invoke(data); } }
private void WriteBatch(TInput[] data) { NLogStart(); if (BeforeBatchWrite != null) { data = BeforeBatchWrite.Invoke(data); } TableData <object> td = new TableData <object>(DestinationTableDefinition, DEFAULT_BATCH_SIZE); td.Rows = ConvertRows(data); new SqlTask(this, $"Execute Bulk insert into {DestinationTableDefinition.Name}").BulkInsert(td, td.ColumnMapping, DestinationTableDefinition.Name); NLogFinish(); }
private void WriteBatch(TInput[] data) { if (!string.IsNullOrEmpty(ConnString)) { this.ConnectionManager = new SqlConnectionManager(new ConnectionString(ConnString)); } if (!HasDestinationTableDefinition) { LoadTableDefinitionFromTableName(); } NLogStart(); if (BeforeBatchWrite != null) { data = BeforeBatchWrite.Invoke(data); } TableData <TInput> td = new TableData <TInput>(DestinationTableDefinition, DEFAULT_BATCH_SIZE); td.Rows = ConvertRows(data); switch (ActionType) { case ActionType.Insert: new SqlTask(this, $"Execute Bulk Insert into {DestinationTableDefinition.Name}") { ConnectionManager = string.IsNullOrEmpty(ConnString) ? null : new SqlConnectionManager(new ConnectionString(ConnString)) }.BulkInsert(td, DestinationTableDefinition.Name); break; case ActionType.Update: new SqlTask(this, $"Execute Bulk Update {DestinationTableDefinition.Name}") { ConnectionManager = string.IsNullOrEmpty(ConnString) ? null : new SqlConnectionManager(new ConnectionString(ConnString)) }.BulkUpdate(td, DestinationTableDefinition.Name, Keys, UpdateFields); break; case ActionType.Upsert: new SqlTask(this, $"Execute Bulk Upsert {DestinationTableDefinition.Name}") { ConnectionManager = string.IsNullOrEmpty(ConnString) ? null : new SqlConnectionManager(new ConnectionString(ConnString)) }.BulkUpsert(td, DestinationTableDefinition.Name, Keys, UpdateFields); break; default: new SqlTask(this, $"Execute Bulk Insert into {DestinationTableDefinition.Name}") { ConnectionManager = string.IsNullOrEmpty(ConnString) ? null : new SqlConnectionManager(new ConnectionString(ConnString)) }.BulkInsert(td, DestinationTableDefinition.Name); break; } NLogFinish(); }
private void WriteBatch(TInput[] data) { if (!HasDestinationTableDefinition) { LoadTableDefinitionFromTableName(); } NLogStart(); if (BeforeBatchWrite != null) { data = BeforeBatchWrite.Invoke(data); } TableData <TInput> td = new TableData <TInput>(DestinationTableDefinition, DEFAULT_BATCH_SIZE); td.Rows = ConvertRows(data); new SqlTask(this, $"Execute Bulk insert into {DestinationTableDefinition.Name}").BulkInsert(td, DestinationTableDefinition.Name); NLogFinish(); }
protected void WriteBatch(TInput[] data) { if (ProgressCount == 0) { NLogStart(); } if (BeforeBatchWrite != null) { data = BeforeBatchWrite.Invoke(data); } if (!WasInitialized) { PrepareWrite(); WasInitialized = true; } TryBulkInsertData(data); LogProgressBatch(data.Length); AfterBatchWrite?.Invoke(data); }
private void WriteBatch(TInput[] data) { if (!HasDestinationTableDefinition) { LoadTableDefinitionFromTableName(); } if (ProgressCount == 0) { NLogStart(); } if (BeforeBatchWrite != null) { data = BeforeBatchWrite.Invoke(data); } TableData <TInput> td = new TableData <TInput>(DestinationTableDefinition, DEFAULT_BATCH_SIZE); td.Rows = ConvertRows(data); new SqlTask(this, $"Execute Bulk insert into {DestinationTableDefinition.Name}") { DisableLogging = true } .BulkInsert(td, DestinationTableDefinition.Name); LogProgress(data.Length); }