Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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将ExcelSheet数据插入MySql数据库#_C#_Mysql - Fatal编程技术网

C# 使用c将ExcelSheet数据插入MySql数据库#

C# 使用c将ExcelSheet数据插入MySql数据库#,c#,mysql,C#,Mysql,在使用MS SQL的解决方案中,代码如下所示。 现在我试着为MySQL做一些类似的事情。我试着使用MySQLBullkLoader,但它不起作用 SqlBulkCopy objbulk = new SqlBulkCopy(connect); //MySqlBulkLoader objbulk = new MySqlBulkLoader(connect); //assigning Destination table name objbulk.DestinationTabl

在使用MS SQL的解决方案中,代码如下所示。 现在我试着为MySQL做一些类似的事情。我试着使用MySQLBullkLoader,但它不起作用

SqlBulkCopy objbulk = new SqlBulkCopy(connect);
    //MySqlBulkLoader objbulk = new MySqlBulkLoader(connect);

    //assigning Destination table name
    objbulk.DestinationTableName = "barter_proposals";
    //Mapping Table column
    objbulk.ColumnMappings.Add("company", "company");
    objbulk.ColumnMappings.Add("website_a", "website_a");
    objbulk.ColumnMappings.Add("email_id", "email_id");
    objbulk.ColumnMappings.Add("contact_name", "contact_name");
    //inserting Datatable Records to DataBase
    connect.Open();
    objbulk.WriteToServer(Exceldt);
    connect.Close();

MySqlBulkLoader
使用与
SqlBulkCopy
完全不同的方式执行批量插入/更新:它使用基于文件的输入(例如TXT或CSV),而不是直接使用
DataTable
实例。作为一种解决方法,您可以将
DataTable
导出到CSV文件中,并通过
MySqlBulkLoader
读取内容,如以下示例所示:

1)数据表到CSV的转换

using (var sw = new StreamWriter("/path/to/source/file.csv", false))
{
    // assume Exceldt is your 'DataTable' object
    int colCount = Exceldt.Columns.Count;
    foreach (DataRow row in Exceldt.Rows)
    {
        for (int i = 0; i < colCount; i++)
        {
            if (!Convert.IsDBNull(row[i]))
            {
                sw.Write(row[i].ToString());
            }
            if (i < colCount - 1)
            {
                sw.Write(",");
            }
        }
        sw.Write(sw.NewLine);
    }
}
参考资料:

// creating bulk loader instance
MySqlBulkLoader objbulk = new MySqlBulkLoader(connect);
objbulk.TableName = "barter_proposals";
objbulk.Timeout = 600; // set command timeout
objbulk.FieldTerminator = ",";
objbulk.LineTerminator = "\r\n";
objbulk.FileName = "/path/to/source/file.csv";
objbulk.NumberOfLinesToSkip = 1; // adjust this depending on CSV file headers

objbulk.Load();

// delete the CSV file here (optional)