当前位置: 首页 > news >正文

C#中使用Mysql批量新增数据 MySqlBulkCopy

在C#中使用MySqlBulkCopy类来批量复制数据到MySQL数据库,首先需要确保你的项目中已经引用了MySQL Connector。以下是使用MySqlBulkCopy的基本步骤:
1.安装MySQL Connector。
可以通过NuGet安装MySQL Connector

2.在代码中引用必要的命名空间。

using MySqlConnector;

3.连接串未添加AllowLoadLocalInfile=true

4.创建MySqlConnection对象并打开连接到目标MySQL数据库。
5.创建MySqlBulkCopy对象并设置相关属性。
6.使用WriteToServer方法将数据从DataTable或DbDataReader批量复制到数据库中。
 

示例代码:

public bool SqlBulkAdd(DataTable dt, string tableName)
{        
using (MySqlConnection connection = new MySqlConnection(ConnectionString)){try{connection.Open();MySqlBulkCopy bulkCopy = new MySqlBulkCopy(connection);// 创建MySqlBulkCopy对象bulkCopy.DestinationTableName = tableName; // 目标表名bulkCopy.ColumnMappings.AddRange(GetMySqlColumnMapping(dt));MySqlBulkCopyResult result = bulkCopy.WriteToServer(dt); // dataTable是包含要复制数据的DataTableLogger.Instance.DoSomesting = "  数据库访问";Logger.Instance.Info("批处理数据导入:成功,MySqlBulkCopy");return isSucess;}catch (Exception ex){isSucess = false;Logger.Instance.DoSomesting = "  数据库访问";Logger.Instance.Info("批处理数据导入:异常,MySqlBulkCopy," + ex.Message);return isSucess;//throw ex;}finally{connection.Close();}}
}private List<MySqlBulkCopyColumnMapping> GetMySqlColumnMapping(DataTable dataTable){List<MySqlBulkCopyColumnMapping> colMappings = new List<MySqlBulkCopyColumnMapping>();int i = 0;foreach (DataColumn col in dataTable.Columns){colMappings.Add(new MySqlBulkCopyColumnMapping(i, col.ColumnName));i++;}return colMappings;}

异常,To use MySqlBulkLoader.Local=true, set AllowLoadLocalInfile=true in the connection string. See https://fl.vu/mysql-load-data

解决方法:

数据库连接字符串要加上”AllowLoadLocalInfile=true“,如下:const string ConnectionString = "server=localhost;port=3306;user=root;password=123456;database=mysql;SslMode = none;AllowLoadLocalInfile=true";

异常,Loading local data is disabled; this must be enabled on both the client and server sides 
 

解决方法

mysql数据库开启允许本地导入数据的配置,命令如下:

SET GLOBAL local_infile=1;//1表示开启,0表示关闭

相关文章:

C#中使用Mysql批量新增数据 MySqlBulkCopy

在C#中使用MySqlBulkCopy类来批量复制数据到MySQL数据库&#xff0c;首先需要确保你的项目中已经引用了MySQL Connector。以下是使用MySqlBulkCopy的基本步骤&#xff1a; 1.安装MySQL Connector。 可以通过NuGet安装MySQL Connector&#xff1a; 2.在代码中引用必要的命名空间…...

ARM-V9 RME(Realm Management Extension)系统架构之系统安全能力的架构差异

安全之安全(security)博客目录导读 RME系统中的应用处理单元&#xff08;PE&#xff09;之间的架构差异可能会带来潜在的安全风险并增加管理软件的复杂性。例如&#xff0c;通过在ID_AA64MMFR0_EL1.PARange中为每个PE设置不同的值来支持不同的物理范围&#xff0c;可能会妨碍内…...

Ansible——stat模块

目录 参数总结 返回值 基础语法 常见的命令行示例 示例1&#xff1a;检查文件是否存在 示例2&#xff1a;获取文件详细信息 示例3&#xff1a;检查目录是否存在 示例4&#xff1a;获取文件的 MD5 校验和 示例5&#xff1a;获取文件的 MIME 类型 高级使用 示例6&…...

第二十节:带你梳理Vue2:Vue子组件向父组件传参(事件传参)

1. 自定义事件 除了可以处理原生的DOM事件, v-on指令也可以处理组件内部触发的自定义的事件,调用this.$emit()函数就可以触发一个自定义事件 $emit() 触发事件函数接受一个自定义事件的事件名以及其他任何给事件函数传递的参数. 然后就可以在组件上使用v-on来绑定这个自定义事…...

华为od-C卷100分题目 - 10寻找最富裕的小家庭

华为od-C卷100分题目 - 10寻找最富裕的小家庭 题目描述 在一棵树中&#xff0c;每个节点代表一个家庭成员&#xff0c;节点的数字表示其个人的财富值&#xff0c;一个节点及其直接相连的子节点被定义为一个小家庭。 现给你一棵树&#xff0c;请计算出最富裕的小家庭的财富和。…...

本地部署AI大模型 —— Ollama文档中文翻译

写在前面 来自Ollama GitHub项目的README.md 文档。文档中涉及的其它文档未翻译&#xff0c;但是对于本地部署大模型而言足够了。 Ollama 开始使用大模型。 macOS Download Windows 预览版 Download Linux curl -fsSL https://ollama.com/install.sh | sh手动安装说明 …...

【前端技术】 ES6 介绍及常用语法说明

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…...

程序员具备的职业素养(个人见解)

程序员应该有什么职业素养&#xff1f; 1. 技术能力 毫无疑问&#xff0c;优秀的技术是程序员的必备。 -扎实的编程基础&#xff1a;熟练掌握至少一门编程语言&#xff0c;并理解基本的数据结构和算法&#xff0c;要做到精通&#xff01;。 - 广泛的技术知识&#xff1a;了…...

Springboot 开发-- 集成 Activiti 7 流程引擎

引言 Activiti 7是一款遵循BPMN 2.0标准的开源工作流引擎&#xff0c;旨在为企业提供灵活、可扩展的流程管理功能。它支持图形化的流程设计、丰富的API接口、强大的执行引擎和完善的监控报表&#xff0c;帮助企业实现业务流程的自动化、规范化和智能化。本文将为您详细介绍 Ac…...

一些常用的frida脚本

这里整理一些常用的frida脚本&#xff0c;和ghidra 一起食用风味更佳&#xff5e; Trace RegisterNatives 注意到从java到c的绑定中&#xff0c;可能会在JNI_OnLoad动态的执行RegisterNatives方法来绑定java层的函数到c行数&#xff0c;可以通过这个方法&#xff0c;来吧运行…...

计算机二级Access操作题总结——简单应用

查询设计 创建一个查询&#xff0c;能够在客人每次结账时根据客人的姓名提示统计这个客人已住天数和应交金额&#xff0c;并显示“姓名”、“房间号”、“已住天数”和“应交金额”&#xff0c;所建查询命名为“qT2”。 注&#xff1a;输入姓名时应提示“请输入姓名”。已住天…...

C#操作MySQL从入门到精通(21)——删除数据

前言: 谈到数据库,大家最容易脱口而出的就是增删改查,本文就是来详细介绍如何删除数据。 本文测试使用的数据库如下: 1、删除部分数据 使用delete 关键字,并且搭配where条件使用,否则会导致表中数据全部被删除 string sql = string.Empty;if (radioButton_DeletePart…...

【iOS】JSONModel源码阅读笔记

文章目录 前言一、JSONModel使用二、JSONModel其他方法转换属性名称 三、源码分析- (instancetype)initWithDictionary:(NSDictionary*)dict error:(NSError **)err[self init]__setup____inspectProperties - (BOOL)__doesDictionary:(NSDictionary*)dict matchModelWithKeyMa…...

如何离线下载 Microsoft Corporation II Windows Subsystem for Android

在本文中&#xff0c;我们将指导您通过一个便捷的步骤来离线下载 Microsoft Corporation II Windows Subsystem for Android。这个过程将利用第三方工具来生成直接下载链接&#xff0c;从而让您能够获取该应用程序的安装包&#xff0c;即使在没有访问Microsoft Store的情况下也…...

使用 flask + qwen 实现 txt2sql 流式输出

前言 一般的大模型提供的 api 都是在提问之后过很久才会返回对话内容&#xff0c;可能要耗时在 3 秒以上了&#xff0c;如果是复杂的问题&#xff0c;大模型在理解和推理的耗时会更长&#xff0c;这种展示结果的方式对于用户体验是很差的。 其实大模型也是可以进行流式输出&a…...

植物大战僵尸杂交版最新2.0.88手机+电脑+苹果+修改器

在这个充满奇妙的平行宇宙中&#xff0c;植物和僵尸竟然能够和谐共存&#xff01;是的&#xff0c;你没听错&#xff01;一次意外的实验&#xff0c;让这两个看似对立的生物种类发生了基因杂交&#xff0c;创造出了全新的生物种类——它们既能够进行光合作用&#xff0c;也具备…...

Vite - 开发初体验,以及按需导入配置

目录 开始 创建一个 Vite 项目 项目结构 /src/main.js index.html package.json vite.config.js Vite 项目中使用 vue-router Vite 组件的“按需引入” 传统的方式引入一个组件 传统方式引入带来的问题 解决办法&#xff08;配置 按需引入 插件&#xff09; 示例&…...

推荐云盘哪个好,各有各的优势

选择合适的云盘服务是确保数据安全、便捷分享和高效协作的关键。下面将从多个维度对目前主流的云盘服务进行详细的对比和分析&#xff1a; 速度性能 百度网盘青春版&#xff1a;根据测试&#xff0c;其上传和下载确实不限速&#xff0c;但主要定位是办公人群&#xff0c;适用于…...

面试题之webpack与vite系列

今天继续来分享面试题&#xff0c;今天要分享的技术是webpack和vite的一些区别&#xff0c;下面我列举了最常见的关于webpack和vite的面试题&#xff0c;主要有以下几个&#xff1a; 1.说说你对webpack的理解&#xff1f;plugin和loader有什么区别&#xff1f; Webpack是一个…...

单调队列 加 二分

雾粉与最小值(简单版) 链接&#xff1a; 牛客 思路 题意是 给定我们数组a让我们完成{x,l,r}询问&#xff0c;判断是否在a中存在子数组满足长度在l,r之间且子数组最小值大于等于x&#xff0c;输出yes 或者 on 一个数组&#xff0c;长度越长&#xff0c;其最小值越小&#xff…...

从国科大NLP课程笔记出发:手把手教你用Python复现CYK句法分析算法

从理论到实践&#xff1a;用Python实现CYK句法分析算法的完整指南 在自然语言处理领域&#xff0c;句法分析是理解句子结构的关键步骤。CYK算法作为一种经典的句法分析技术&#xff0c;因其简洁高效的特点&#xff0c;成为许多NLP工程师工具箱中的必备武器。本文将带你从零开始…...

利用OFA-Image-Caption自动生成Latex论文图表标题与描述

利用OFA-Image-Caption自动生成Latex论文图表标题与描述 写论文最烦人的步骤是什么&#xff1f;对我而言&#xff0c;除了反复修改格式&#xff0c;就是给那一大堆图表想标题和写描述了。一张图&#xff0c;你得想个既准确又简洁的标题&#xff0c;还得在正文里引用它&#xf…...

泛微E9流程表单转PDF/HTML实战:手把手教你集成档案系统(附完整代码)

泛微E9流程表单转PDF/HTML全流程开发指南&#xff1a;从原理到实战 在企业管理数字化转型的浪潮中&#xff0c;OA系统与档案系统的无缝对接已成为提升组织效能的刚需。作为国内主流的协同办公平台&#xff0c;泛微E9的流程表单承载着企业核心业务流程数据&#xff0c;如何将这些…...

Gemma-3-12b-it实战教程:极简UI背后隐藏的12B模型内存映射优化策略

Gemma-3-12b-it实战教程&#xff1a;极简UI背后隐藏的12B模型内存映射优化策略 1. 项目概述 Gemma-3-12b-it是一款基于Google Gemma-3-12b-it大模型开发的本地多模态交互工具。这款工具针对12B大模型进行了全维度的CUDA性能优化&#xff0c;支持图片上传和文本提问的流式生成…...

nli-distilroberta-base实际项目:高校招生简章关键条款与考生疑问逻辑关系库构建

nli-distilroberta-base实际项目&#xff1a;高校招生简章关键条款与考生疑问逻辑关系库构建 1. 项目背景与需求 高校招生简章通常包含大量专业条款和政策说明&#xff0c;每年都会收到大量考生关于条款理解的咨询。传统的人工解答方式存在几个痛点&#xff1a; 效率低下&am…...

Pixel Mind Decoder 在游戏剧情分支中的应用:根据玩家情绪动态叙事

Pixel Mind Decoder 在游戏剧情分支中的应用&#xff1a;根据玩家情绪动态叙事 1. 引言&#xff1a;当游戏能读懂你的情绪 想象一下&#xff0c;当你正在玩一款角色扮演游戏&#xff0c;每次对话选择不仅影响剧情走向&#xff0c;游戏还能感知你的情绪变化——你犹豫时的焦虑…...

OpenClaw多模型切换实战:百川2-13B量化版与Qwen3-32B对比测试

OpenClaw多模型切换实战&#xff1a;百川2-13B量化版与Qwen3-32B对比测试 1. 为什么需要多模型切换&#xff1f; 去年夏天&#xff0c;当我第一次尝试用OpenClaw自动化处理日常工作时&#xff0c;发现一个有趣的现象&#xff1a;80%的简单任务&#xff08;如文件重命名、邮件…...

节能模式实战:OpenClaw+GLM-4.7-Flash定时任务调度

节能模式实战&#xff1a;OpenClawGLM-4.7-Flash定时任务调度 1. 为什么需要节能模式 上个月我的电费账单突然暴涨了40%&#xff0c;排查后发现是那台24小时运行的开发机惹的祸。这台机器不仅要跑OpenClaw智能体&#xff0c;还要负载GLM-4.7-Flash模型推理&#xff0c;风扇整…...

rBase64:嵌入式系统零堆分配BASE64编解码库

1. rBase64 库深度解析&#xff1a;面向嵌入式系统的高性能 BASE64 编解码实现BASE64 是一种将任意二进制数据映射为 ASCII 字符子集的编码方案&#xff0c;广泛应用于嵌入式通信协议&#xff08;如 MQTT payload、HTTP Basic Auth、CoAP 传输&#xff09;、固件 OTA 升级包签名…...

如何通过WechatRealFriends解决微信单向好友检测难题

如何通过WechatRealFriends解决微信单向好友检测难题 【免费下载链接】WechatRealFriends 微信好友关系一键检测&#xff0c;基于微信ipad协议&#xff0c;看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends 在数字化社…...