SQL批量插入出现 类型转换错误
1、原因:在使用SqlBulkCopy批量操作时,Map映射会出现表结点对应错误
2、解决方案:自己先建立字段映射
using (SqlConnection con = new SqlConnection(DbConfig.CsNisConnString))
{
con.Open();
using (SqlTransaction tran = con.BeginTransaction())
{
SqlBulkCopy bc = new SqlBulkCopy(con,
SqlBulkCopyOptions.CheckConstraints |
SqlBulkCopyOptions.FireTriggers |
SqlBulkCopyOptions.KeepNulls, tran);
SqlBulkCopyColumnMapping m1 = new SqlBulkCopyColumnMapping("SchoolId", "SchoolId");
SqlBulkCopyColumnMapping m2 = new SqlBulkCopyColumnMapping("AreaCode", "AreaCode");
SqlBulkCopyColumnMapping m3 = new SqlBulkCopyColumnMapping("LastPushDate", "LastPushDate");
SqlBulkCopyColumnMapping m4 = new SqlBulkCopyColumnMapping("StudentCode", "StudentCode");
SqlBulkCopyColumnMapping m5 = new SqlBulkCopyColumnMapping("StudentName", "StudentName");
SqlBulkCopyColumnMapping m6 = new SqlBulkCopyColumnMapping("ClassCode", "ClassCode");
SqlBulkCopyColumnMapping m7 = new SqlBulkCopyColumnMapping("ClassName", "ClassName");
SqlBulkCopyColumnMapping m8 = new SqlBulkCopyColumnMapping("ManageCode", "ManageCode");
SqlBulkCopyColumnMapping m9 = new SqlBulkCopyColumnMapping("UnPushCount", "UnPushCount");
bc.ColumnMappings.Add(m1);
bc.ColumnMappings.Add(m2);
bc.ColumnMappings.Add(m3);
bc.ColumnMappings.Add(m4);
bc.ColumnMappings.Add(m5);
bc.ColumnMappings.Add(m6);
bc.ColumnMappings.Add(m7);
bc.ColumnMappings.Add(m8);
bc.ColumnMappings.Add(m9);
bc.BatchSize = 10000;
bc.DestinationTableName = "XCard_PclException"; //目标表
bc.WriteToServer(listAll.AsDataReader());
tran.Commit();
}
con.Close();
}
SQL批量插入出现 类型转换错误的更多相关文章
- SQL批量插入表类 SqlBulkInsert
ado.net已经有了sqlBulkCopy, 但是那个用xml格式,网络传输数据量太大. 自己实现了一个,传输尽量少的字节. 性能没对比过,有需要的自己拿去测试. using System.Data ...
- insert into select 与select into from -- sql 批量插入
参考资料:http://www.w3school.com.cn/sql/sql_union.asp UNION:操作符用于合并两个或多个select语句的结果集. ...
- Delphi中SQL批量插入记录
http://www.cnblogs.com/azhqiang/p/4050331.html 在进行数据库操作时, 我们经常会遇到批量向数据库中写入记录的情况. 在这里我提供3种操作方式: 1. ...
- Sql批量插入方法
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- sql 批量插入
create PROCEDURE insertinto as begindeclare @id int;set @id=1;while @id<10begininsert into perso ...
- 使用SQL批量插入数据到数据库 以及一些SQL函数的语法
批量插入100条记录 set nocount on declare @i int=1; while @i<=100 begin Insert into Client(id,ClientCode, ...
- SQL 批量插入数据
后面进行完善修改. /*批量插入数据*/ 这个比较完善.直接插入数据库表. INSERT INTO `goods_transverter` ( `code`,`es_id`,`barcode`, `n ...
- sql批量插入缓慢
1.有一个普通的表t_asset,只有2个字段id,ip 没有索引 2.当用insert into t_asset(id,ip) values(?,?),(?,?) 1200多条记录时,发现竟然用了3 ...
- Sql批量插入时如果遇到相同的数据怎么处理
测试数据 -- 创建测试表1 CREATE TABLE `testtable1` ( `Id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `UserId` I ...
随机推荐
- String中的equals方法解析 jdk1.7
注 此篇为jdk1.7中的源码解析 equals()方法中的判断分一下步骤 1先判断内存地址是否相同 如果内存地址相同 那么字符串就是相同的 返回true 2 判断当前字符串和参数字是否属于同一类 ...
- [Pytorch]PyTorch Dataloader自定义数据读取
整理一下看到的自定义数据读取的方法,较好的有一下三篇文章, 其实自定义的方法就是把现有数据集的train和test分别用 含有图像路径与label的list返回就好了,所以需要根据数据集随机应变. 所 ...
- 在 Linux 服务器上搭建和配置 Hadoop 集群
实验条件:3台centos服务器,jdk版本1.8.0,Hadoop 版本2.8.0 注:hadoop安装和搭建过程中都是在用户lb的home目录下,master的主机名为host98,slave的主 ...
- MySQL-性能优化-优化设计和设计原则
MySQL性能优化目的如何合理的设计数据库?什么样的数据库设计才能给后期DBA优化提供基石? 数据库设计与程序设计的差异? 数据库设计早期优化1. 关系明确(理清表之间的关系,可以通过冗余的方式提高效 ...
- Android -- ContentObserver 内容观察者
1. 实现原理图 2. 示例代码 (暂时有个问题,短信观察者 收到一条短信时 onchange方法会执行两次, 解决方法为:每次监听到变化的时候就去取最新短信的id,跟上次取的比较,如果一样的就不做处 ...
- jmeter-对响应数据进行unicode转码
1,请求接口成功后,返回数据为unicode编码,查看不方便
- logback MDC 使用
有时候想在logback日志中打印请求IP.流水号这些信息,可以通过MDC(Mapped Diagnostic Contexts)实现: MDC.put("requestNo", ...
- es6之Iterator
1.任何数据结构只要部署了Iterator接口(本质是一个指针对象),也就是部署了Symbol.iterator属性,便可以完成遍历操作:数组原生就具备Iterator接口,就可以用for...of遍 ...
- 英语每日阅读---5、VOA慢速英语(翻译+字幕+讲解):美国人口普查局表示美国人受教育程度提升
英语每日阅读---5.VOA慢速英语(翻译+字幕+讲解):美国人口普查局表示美国人受教育程度提升 一.总结 一句话总结: a.Thirty-four percent - college degree: ...
- java使用poi实现excel表格生成
通过使用poi技术生成Excel,使用反射技术实现自动映射列表的数据. ExportTableUtil.java public class ExportTableUtil { /** * * @Des ...