Update clickhouse bug

This commit is contained in:
sunkaixuan
2023-07-01 18:29:46 +08:00
parent 43562eda0d
commit cd3ec657bb

View File

@@ -16,7 +16,11 @@ namespace SqlSugar.ClickHouse
public async Task<int> ExecuteBulkCopyAsync(DataTable dt) public async Task<int> ExecuteBulkCopyAsync(DataTable dt)
{ {
var bulkCopy = GetBulkCopyInstance(); ClickHouseBulkCopy bulkCopy;
var conn = new ClickHouseConnection(this.Context.CurrentConnectionConfig.ConnectionString);
bulkCopy = new ClickHouseBulkCopy(conn);
await conn.OpenAsync();
bulkCopy.BatchSize = 100000;
bulkCopy.DestinationTableName = dt.TableName; bulkCopy.DestinationTableName = dt.TableName;
try try
{ {
@@ -24,26 +28,22 @@ namespace SqlSugar.ClickHouse
} }
catch (Exception ex) catch (Exception ex)
{ {
CloseDb();
throw ex; throw ex;
} }
CloseDb(); finally
{
await conn.CloseAsync();
}
return dt.Rows.Count; return dt.Rows.Count;
} }
public override Task CreateTempAsync<T>(DataTable dt) public override Task CreateTempAsync<T>(DataTable dt)
{ {
throw new Exception("The development of BulkCopyUpdate "); throw new Exception("The development of BulkCopyUpdate ");
} }
public ClickHouseBulkCopy GetBulkCopyInstance() //public async Task<ClickHouseBulkCopy> GetBulkCopyInstance()
{ //{
ClickHouseBulkCopy copy;
copy = new ClickHouseBulkCopy((ClickHouseConnection)this.Context.Ado.Connection); // return copy;
if (this.Context.Ado.Connection.State == ConnectionState.Closed) //}
{
this.Context.Ado.Connection.Open();
}
copy.BatchSize = 100000;
return copy;
}
} }
} }