将数据从 MySQL 服务器上的表复制到 C# 中的本地 MySql 数据库表

本文关键字:数据库 MySql 复制 服务器 MySQL 数据 | 更新日期: 2023-09-27 18:34:35

我正在尝试使用 C# 将位于 MySQL 服务器上的一个表中的一些列复制到本地 MySQL 数据库。我该怎么做?

不确定我是否应该使用MySQLDataAdapter或Bulk Copy(我不太了解(。

将数据从 MySQL 服务器上的表复制到 C# 中的本地 MySql 数据库表

批量复制将是一种更简单的方法。它采用以前创建的数据表并将其上传到数据库。

您可以使用以下代码来提供帮助。下面的代码允许您返回一个数据表:

public DataTable FillTable(string sql)
{
    MySqlCommand sqlQuery = new MySqlCommand();
    cmd.Connection = ;// insert the connection details of the DB to transfer FROM
    cmd.CommandText = sql;
    DataTable dt = new DataTable();
    try
    { 
        conn.Open();                
        dt.Load(cmd.ExecuteReader());
        conn.Close();
    }
        catch (SqlException ex)
        {
            Console.WriteLine("fillTable: "+ ex.Message);
        }
    return dt;
}

然后,使用以下命令将数据发送到新数据库:

Datatable newTable = FillTable("SELECT * FROM MyOldTable");
using (MySqlBulkCopy destination = new MySqlBulkCopy("MyNewDatabaseConnection String"))
{
    destination.DestinationTableName = "myNewTable";
    try
    {
        destination.WriteToServer(newTable);
    }
    catch (Exception Ex)
    {
        Console.WriteLine(Ex.Message);
    }
}

参考 MSDN