public void WriteToServer(DataTable dataTable) { if (ProviderName == ProviderType.SqlServer) { sqlBulkCopy.BulkCopiedHandler = BulkCopiedHandler; sqlBulkCopy.WriteToServer(dataTable, BatchSize); } else if (ProviderName == ProviderType.DB2) { //db2BulkCopy.BulkCopiedHandler = BulkCopiedHandler; //db2BulkCopy.WriteToServer(dataTable, BatchSize); throw new Exception("暂时不支持DB2数据库"); } else if (ProviderName == ProviderType.Oracle) { oracleBulkCopy.BulkCopiedHandler = BulkCopiedHandler; oracleBulkCopy.WriteToServer(dataTable, BatchSize); } else if (ProviderName == ProviderType.MySql) { CsvHelper csv = new CsvHelper(); string fname = dataTable.TableName + DateTime.Now.Ticks; bool rt = csv.ExportSvcToFile(dataTable, fname); if (rt == false) { return; } int rows = mySqlBulkCopy.WriteToServer(new MysqlBulkLoaderInfo() { FileName = fname, FieldTerminator = ",", LineTerminator = "\r\n", TableName = dataTable.TableName, FieldQuotationCharacter = '"', EscapeCharacter = '"', }); if (rows == 0) { throw new Exception("导入空数据..."); } } else { throw new Exception("暂时不支持" + ProviderName.ToString() + "的批量方法..."); } }