C# 如何使用C将大容量插入MySQL#
我以前使用过SQLBulkCopy类将数据加载到MS SQL Server数据库中。结果非常好,完全符合我的预期 现在,我正在尝试使用SSIS中的脚本任务,使用ODBC或ADO.NET连接(推荐?)将数据批量加载到MySQL(5.5.8)数据库中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
我的数据集中的列与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非常基本)。