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