【问题标题】:Transfer data from SQL Server 2008 to MySQL Workbench using C#使用 C# 将数据从 SQL Server 2008 传输到 MySQL Workbench
【发布时间】:2015-08-11 11:36:10
【问题描述】:

我正在尝试通过 C# 应用程序将数据从 SQL Server(约 100k 行)传输到 MySQL 服务器。首先将数据传输到listView(例如),读取此数据然后将其插入MySQL是最好的方法吗?或者,为了将这些数据传输到 MySQL,什么可以作为将这些数据保存在某个缓冲区中的替代方法?表中有 4 列,其中 2 列是表数据(pay_typepay_amount),我需要从 .INI 文件(market_nametransaction_date)中获取其他 2 列的值。

【问题讨论】:

  • 也许使用文件?将数据从 SQLServer 导入 CSV 并导出到 MySQL?
  • 与c#兼容吗?
  • 从旧 FoxPro 数据库传输到 MySQL 时,我使用了 OleDbConnection 和 MySqlConnection 类。将 FoxPro 表查询到数据集中,然后使用该数据集作为更新 MySQL 表的源。
  • @PaulF 我使用了 DataSet,但仅用于表中的 2 列。如何添加另外 2 列(不是来自数据库)?
  • 可以修改数据集以添加两列,然后使用附加数据更新数据集。或者先更新 MySQL 表,然后运行第二个查询以添加 .INI 文件中的数据。如果不了解更多关于您的数据的信息,很难说 - 目前您如何匹配两组数据?

标签: c# mysql visual-studio sql-server-2008


【解决方案1】:

如果这是一次性要求,建议您使用工具将数据从 SQL Server 导出到 .csv 或制表符分隔值文件,然后将它们导入 MySQL。

SQL Server Management Studio 将写入 csv 文件。 HeidiSQL 或 phpMyAdmin 将导入它们。

还有许多其他免费或便宜的工具可供使用。

如果这是一个持续的需求,你应该用这个大纲编写一个简单的 C# 程序:

  open connections to sql-server and mysql 
  turn off autocommit on mysql
  execute "select whatever from table" on sql server
  while (rdr.Read) {
      execute "insert into table ..." on mysql
      every hundredth row, commit on mysql
  }
  commit on mysql

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-17
    • 2012-09-29
    • 2010-10-29
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    相关资源
    最近更新 更多