Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C将大容量插入MySQL#_C#_Mysql_Bulkinsert - Fatal编程技术网

C# 如何使用C将大容量插入MySQL#

C# 如何使用C将大容量插入MySQL#,c#,mysql,bulkinsert,C#,Mysql,Bulkinsert,我以前使用过SQLBulkCopy类将数据加载到MS SQL Server数据库中。结果非常好,完全符合我的预期 现在,我正在尝试使用SSIS中的脚本任务,使用ODBC或ADO.NET连接(推荐?)将数据批量加载到MySQL(5.5.8)数据库中 我的数据集中的列与MySQL表中的列相对应。将数据集大容量插入MySQL数据库的最佳方法是什么?您可以使用MySQL Connector for.NET附带的MySqlBulkLoader: var bl = new MySqlBulkLoader(c

我以前使用过SQLBulkCopy类将数据加载到MS SQL Server数据库中。结果非常好,完全符合我的预期

现在,我正在尝试使用SSIS中的脚本任务,使用ODBC或ADO.NET连接(推荐?)将数据批量加载到MySQL(5.5.8)数据库中


我的数据集中的列与MySQL表中的列相对应。将数据集大容量插入MySQL数据库的最佳方法是什么?

您可以使用MySQL Connector for.NET附带的MySqlBulkLoader:

var bl = new MySqlBulkLoader(connection);
bl.TableName = "mytable";
bl.FieldTerminator = ",";
bl.LineTerminator = "\r\n";
bl.FileName = "myfileformytable.csv";
bl.NumberOfLinesToSkip = 1;
var inserted = bl.Load();
Debug.Print(inserted + " rows inserted.");

如果您的数据集是文本格式的,则无需编写程序,只需编写
加载数据填充
查询,MySQL将加载文件本身。Dan,感谢您的建议,我将安排SSI加载一系列文本文件,并需要在决定插入数据之前检查一些文件内容。这就是为什么我要用编程的方式来做这件事。我尝试过相同的代码,但它的无效插入始终保持为零。@rahularyansharma请确保您的MySQL安装支持LOAD_DATA_infle(),因为MySQLBulkLoader只是它的包装器。好的,然后确保正确指定了所有参数,由于LOAD_DATA_INFLE可能会假定必须使用MySqlBulkLoader明确指定的参数。现在运行正常,但仅上载一条记录,可能是由于我的csv问题,因为当我在记事本中打开csv时,没有列。您应该使用不同的数据尝试不同的csv文件(包括最简单的数据)。您还可以使用Notepad++显示所有字符,以确保文件格式正确(Notepad.exe非常基本)。