Как вставить несколько строк данных в таблицу базы данных одновременно, используя mysql, c# - PullRequest
0 голосов
/ 20 февраля 2020

Как вставить несколько строк данных в таблицу базы данных одновременно, используя MySQL, в C#

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);
}

Я пытался это сделать, но ошибка входа в систему для пользователя '* 1004 не удалась * '. Это учетная запись БД

1 Ответ

0 голосов
/ 21 февраля 2020

SqlBulkCopy для Microsoft SQL Server, а MySQL Connector /NET не имеет функции массового копирования. MySqlConnector - это альтернативный драйвер MySQL для. NET, который поддерживает массовое копирование (в MySqlBulkCopy) в последней бета-версии, согласно этой документации .

Сначала необходимо удалить 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...