如何使用mysql,c#将数据表的多行一次插入数据库的表中,c#

问题描述 投票:0回答:1

如何使用C#在MySQL中将数据表的多行同时插入数据库的表中

string connectionString = GetConnectionString();
using(var bulkCopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.KeepIdentity)) {
     foreach(DataColumn col in dataTable.Columns) {
      bulkCopy.ColumnMappings.Add(col.ColumnName, col.ColumnName);
     }

     bulkCopy.BulkCopyTimeout = 600;
     bulkCopy.DestinationTableName = destinationTableName;
     bulkCopy.WriteToServer(dataTable);
}

我尝试过此操作,但用户'testuser'的错误登录失败。这是数据库凭据

c# mysql database datatable
1个回答
0
投票

SqlBulkCopy用于Microsoft SQL Server,并且Oracle的MySQL Connector / NET没有任何批量复制功能。 MySqlConnector是.NET的替代MySQL驱动程序,根据MySqlBulkCopy,它确实支持最新Beta版本的批量复制(在this documentation中)。

您首先需要卸载MySql.Data,然后安装MySqlConnector。它使用相同的类名,因此应该是嵌入式升级。

string connectionString = GetConnectionString();
using (var connection = new MySqlConnection(connectionString))
{
    await connection.OpenAsync();

    using (var bulkCopy = new MySqlBulkCopy(connection)
    {
        // ColumnMappings isn't current supported, but they will be inferred automatically
        bulkCopy.DestinationTableName = destinationTableName;
        await bulkCopy.WriteToServerAsync(dataTable);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.