像淘宝类别网站怎么做,惠城中山网站建设,深圳品牌手表有哪些,做公众号的网站模板在C#中使用MySqlBulkCopy类来批量复制数据到MySQL数据库#xff0c;首先需要确保你的项目中已经引用了MySQL Connector。以下是使用MySqlBulkCopy的基本步骤#xff1a; 1.安装MySQL Connector。 可以通过NuGet安装MySQL Connector#xff1a; 2.在代码中引用必要的命名空间…
在C#中使用MySqlBulkCopy类来批量复制数据到MySQL数据库首先需要确保你的项目中已经引用了MySQL Connector。以下是使用MySqlBulkCopy的基本步骤 1.安装MySQL Connector。 可以通过NuGet安装MySQL Connector 2.在代码中引用必要的命名空间。
using MySqlConnector;
3.连接串未添加AllowLoadLocalInfiletrue
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 ListMySqlBulkCopyColumnMapping GetMySqlColumnMapping(DataTable dataTable){ListMySqlBulkCopyColumnMapping colMappings new ListMySqlBulkCopyColumnMapping();int i 0;foreach (DataColumn col in dataTable.Columns){colMappings.Add(new MySqlBulkCopyColumnMapping(i, col.ColumnName));i;}return colMappings;} 异常,To use MySqlBulkLoader.Localtrue, set AllowLoadLocalInfiletrue in the connection string. See https://fl.vu/mysql-load-data
解决方法
数据库连接字符串要加上”AllowLoadLocalInfiletrue“如下const string ConnectionString serverlocalhost;port3306;userroot;password123456;databasemysql;SslMode none;AllowLoadLocalInfiletrue;
异常,Loading local data is disabled; this must be enabled on both the client and server sides
解决方法
mysql数据库开启允许本地导入数据的配置命令如下
SET GLOBAL local_infile1//1表示开启0表示关闭