SqlBulkCopy 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 bit
2017-04-26 08:06
3031 查看
使用SqlBulkCopy批量插入,可以快速对大批量的数量插入,性能非常好
在使用时出现“来自数据源的 String 类型的给定值不能转换为指定目标列的类型 bit”异常
为DataTable与要插入的数据表字段位置不一样所至
DataTable与要插入的数据表要字段名,位置,数据类型都一至才可
示例,使用使用SqlBulkCopy插入多个表
在使用时出现“来自数据源的 String 类型的给定值不能转换为指定目标列的类型 bit”异常
为DataTable与要插入的数据表字段位置不一样所至
DataTable与要插入的数据表要字段名,位置,数据类型都一至才可
示例,使用使用SqlBulkCopy插入多个表
public bool BatchInsertUniqeCode(DataTable uniqueCodeProduceContrastDt,DataTable uniqueCodeGenerateDt) { using(SqlConnection conn= (SqlConnection)(base.DbContext.Database.Connection)) { if (conn.State == ConnectionState.Closed) { conn.Open(); } SqlTransaction tran = conn.BeginTransaction(); SqlBulkCopy upBlock = new SqlBulkCopy(conn, SqlBulkCopyOptions.Default, tran); SqlBulkCopy ugBlock = new SqlBulkCopy(conn, SqlBulkCopyOptions.Default, tran); try { ugBlock.DestinationTableName = "UniqueCodeGenerate"; ugBlock.BatchSize = uniqueCodeGenerateDt.Rows.Count; if (uniqueCodeGenerateDt != null && uniqueCodeGenerateDt.Rows.Count > 0) { ugBlock.WriteToServer(uniqueCodeGenerateDt); } ugBlock.Close(); upBlock.DestinationTableName = "UniqueCodeProduceContrast"; upBlock.BatchSize = uniqueCodeProduceContrastDt.Rows.Count; if (uniqueCodeProduceContrastDt != null && uniqueCodeProduceContrastDt.Rows.Count > 0) { upBlock.WriteToServer(uniqueCodeProduceContrastDt); } upBlock.Close(); tran.Commit(); return true; } catch(Exception ex) { tran.Rollback(); throw ex; } finally { upBlock.Close(); ugBlock.Close(); conn.Close(); } } }
相关文章推荐
- sqlbulkcopy 使用DataTable作为数据源的数据类型问题--来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier
- 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 nvarchar
- 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 nvarchar。
- 来自数据源的string类型的给定值不能转换为指定目标列的类型nvarchar
- Spring和HIbernate整合配置数据源 出现 'java.lang.String'不能转换为java.lang.class
- Day2 String 字符串类型不能直接转换成基本数据类型
- 给定的日期--String类型和Date类型互相转换。
- groovy string类型转换成int(来自csdn)不要问为什么系列6
- 关于 Guid类型在数据库可为null,而C#中Guid不能为空,造成指定转换无效的错误
- 无法将类型“string”隐式转换为“System.Data.SqlClient.SqlParameter”(错误)
- 在javascript里 string 和 int 类型得相互转换
- 字符串数组类型的object,如何转换为string[],
- java中如何将String类型的日期转换成数值及计算
- string的类型转换
- 对象不能从 DBNull 转换为其他类型。
- java里面InputStream类型转换成String类型怎么实现?
- DriverStudio不能转换Source中GDI_DRIVER类型问题解决
- 在C#中将string类型转换成Datetime类型
- 类型"string"的值无法转换为"System.Drawing.Color"
- int 不能转换成String