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 ...
随机推荐
- Ubuntu 安装 networkx
参考:ubuntu 下NetworkX的安装和使用 Dependences pip setuptools Commands 1.install networkx sudo pip install ne ...
- log4j和logback
Log4j和logback Log4j简介 Log4j(log for java) 1.是Apache的一个开源项目: 2.是使用Java语言编写的一个日志框架: 3.用于记录程序中的日志信息: 4. ...
- background-size css background-images
在设计网页时,经常会用到背景图片来达到视觉效果. 一般情况下用repeat的方式是最适全不过了,不过有时间是采用整图来充当背景,那么这个时候就会有多种可能性的存在了. 整图来做背景一般是采用no-re ...
- angular指令中的scope绑定策略
针对独立 scope,可以通过在对象中声明如何从外部传入参数.有以下三种绑定策略: @ - 使用 DOM 属性值单项绑定到指令 scope 中.此时绑定的值总是一个字符串,因为 DOM 的属性值是一个 ...
- WebBrowser提交submit后界面不刷新的解决办法
一个Form里有一个WebBrowser和一个Button,在Button_Click里执行 htmlDocument=WebBrowser.Document得到当前document 当htmlDoc ...
- 搞懂分布式技术3:初探分布式协调服务zookeeper
搞懂分布式技术3:初探分布式协调服务zookeeper 1.Zookeepr是什么 Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅,负载均衡, ...
- Qt5.3中qml ApplicationWindow设置窗口无边框问题
这个版本的qt在这里有点bug.. 设置ApplicationWindow的flags属性为Qt.FramelessWindowHint的确可以使程序无边框,但是同时程序在任务栏的图标也没了. 看文档 ...
- linux---进程,(rpm,yum)软件包
3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大小为5G fdisk -l fdisk /dev/sdb p 查看 n 新建 p 主分区 ...
- Ansible 小手册系列 十五(Blocks 分组)
当我们想在满足一个条件下,执行多个任务时,就需要分组了.而不再每个任务都要用when. tasks: - block: - command: echo 1 - shell: echo 2 - raw: ...
- Reverse a String
题目: 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 这是一些对你有帮助的资源: Global String Ob ...