Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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中将填充的MYSQL表复制到另一个数据库#_C#_Mysql_Copy_Dataset - Fatal编程技术网

C# 如何在C中将填充的MYSQL表复制到另一个数据库#

C# 如何在C中将填充的MYSQL表复制到另一个数据库#,c#,mysql,copy,dataset,C#,Mysql,Copy,Dataset,我正在使用C#、.NET3.5和一个MySQL数据库。我在服务器1上有一个已填充的表,我想将其复制到服务器2。在服务器2上,我有相同的表结构,但表是空的。现在我想将数据从服务器1复制到服务器2。 我连接到服务器1并将信息填入数据集-没问题。然后,我打开与另一台服务器的第二个连接。我的问题是,如何将此数据集存储在第二台服务器上?Update()-命令无效,即使我为服务器1设置了相同的UpdateCommand和InsertCommand CommandText。当我使用Update(DataSet

我正在使用C#、.NET3.5和一个MySQL数据库。我在服务器1上有一个已填充的表,我想将其复制到服务器2。在服务器2上,我有相同的表结构,但表是空的。现在我想将数据从服务器1复制到服务器2。 我连接到服务器1并将信息填入数据集-没问题。然后,我打开与另一台服务器的第二个连接。我的问题是,如何将此数据集存储在第二台服务器上?Update()-命令无效,即使我为服务器1设置了相同的UpdateCommand和InsertCommand CommandText。当我使用Update(DataSet,“TableName”)时,我没有收到任何错误,但是表仍然是空的。 对于MSSQL数据库来说,BulkCopy是一个选项,但对于MySQL DBs来说,似乎没有等价物

我不想使用mysqldump,我想在客户机上用C#编程

有什么想法吗

编辑:


我不确定您使用哪个库访问MySQL数据库

有关MySQL原始ADO.NET提供程序的“纯ADO.NET”,请参阅此artcile

如果使用MySQL.NET连接器,则有一个名为
MySqlBulkLoader
的类,请参阅。这个类接受一个文件-因此必须首先从源表创建一个文件才能使用它

如果您使用的是Devart MySQL组件,您可以:

MySqlLoader ML = new MySqlLoader("myDB", conn_DB2);
ML.CreateColumns();
ML.LoadTable(theDataSet_DB1.Tables[0]);

dataset_DB2.Tables中的行是“未更改的”,因此会发生任何更改。在更新行之前,必须将行标记为“已添加”

foreach (DataTable table in theDataSet_DB2.Tables)
  foreach (DataRow row in table.Rows)
    row.SetAdded ();
有必要构建与dataAdapter关联的MySqlCommandBuilder:

new MySqlCommandBuilder (dataAdapter);

@Zhaph我试图测试上面的代码(使用Zhaph更正),但我遇到了一个问题…当从一个表复制到另一个表时,主键在目标表上重新调整..表PK的where ints auto increment…有什么想法吗?@Brian看到我之前的评论。
new MySqlCommandBuilder (dataAdapter);