Пример #1
0
 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));
     }
 }
Пример #2
0
 internal virtual void WriteBatch(ref TInput[] data)
 {
     if (ProgressCount == 0)
     {
         NLogStart();
     }
     if (BeforeBatchWrite != null)
     {
         data = BeforeBatchWrite.Invoke(data);
     }
 }
Пример #3
0
        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();
        }
Пример #4
0
        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();
        }
Пример #5
0
        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);
 }
Пример #7
0
        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);
        }