public void BulkInsert(IDataReader data, IColumnMappingCollection columnMapping, string tableName) { string LineTerminator = Environment.NewLine; string FieldTerminator = ";"; string tmpFile = Guid.NewGuid().ToString(); StreamWriter sw = new StreamWriter(tmpFile); while (data.Read()) { for (int i = 0; i < data.FieldCount; i++) { var o = data.GetValue(i); sw.Write((i > 0 ? FieldTerminator : string.Empty) + o.ToString()); } sw.Write(LineTerminator); } sw.Flush(); sw.Close(); MySqlBulkLoader bulkCopy = new MySqlBulkLoader(MySqlConnection); bulkCopy.Timeout = 0; bulkCopy.TableName = tableName; bulkCopy.FileName = tmpFile; bulkCopy.Local = true; bulkCopy.FieldTerminator = FieldTerminator; bulkCopy.LineTerminator = LineTerminator; // if (columnMapping != null) foreach (IColumnMapping colMap in columnMapping) // bulkCopy.Add(colMap.SourceColumn, colMap.DataSetColumn); bulkCopy.Load(); File.Delete(tmpFile); }
public void BulkInsert(IDataReader data, IColumnMappingCollection columnMapping, string tableName) { using (var conn = DbConnectionManager.Clone()) { conn.Open(); QueryStart(LogType.Bulk); conn.BulkInsert(data, columnMapping, tableName); RowsAffected = data.RecordsAffected; QueryFinish(LogType.Bulk); } }
public override void BulkInsert(IDataReader data, IColumnMappingCollection columnMapping, string tableName) { using (SqlBulkCopy bulkCopy = new SqlBulkCopy(DbConnection, SqlBulkCopyOptions.TableLock, null)) { bulkCopy.BulkCopyTimeout = 0; bulkCopy.DestinationTableName = tableName; foreach (IColumnMapping colMap in columnMapping) { bulkCopy.ColumnMappings.Add(colMap.SourceColumn, colMap.DataSetColumn); } bulkCopy.WriteToServer(data); } }
public void BulkInsert(IDataReader data, IColumnMappingCollection columnMapping, string tableName) => SqlConnectionManager.BulkInsert(data, columnMapping, tableName);
public override void BulkInsert(IDataReader data, IColumnMappingCollection columnMapping, string tableName) { throw new NotImplementedException(); }
public abstract void BulkInsert(IDataReader data, IColumnMappingCollection columnMapping, string tableName);
internal static Exception ColumnsIndexInt32(int index, IColumnMappingCollection collection) { return(CollectionIndexInt32(index, collection.GetType(), collection.Count)); }
internal static Exception ColumnsIndexInt32(int index, IColumnMappingCollection collection) { return CollectionIndexInt32(index, collection.GetType(), collection.Count); }
public static void BulkInsert(string name, IDataReader data, IColumnMappingCollection columnMapping, string tableName) => new XmlaTask(name).BulkInsert(data, columnMapping, tableName);