MySQL到MS SQL Server ...需要有关最佳方法的建议

时间:2011-01-24 19:10:33

标签: c# mysql sql-server dataset

我正从远程MySQL服务器导入数据。我通过SSH连接连接MySQL数据库,然后将数据拉入MS SQL Server。需要执行几种类型检查,尤其是MySQL DateTime到MS SQL DateTime。最初我考虑使用MySqlDataReader将数据读入List<T>以确保正确的类型,然后将数据推送到DataSet然后推送到MS SQL Server。

这是一个好方法还是我应该以不同的方式来做这件事?我当然可以批量插入SQL Server,但之后我将不得不处理数据类型。

思想?

4 个答案:

答案 0 :(得分:2)

我个人不会在流程中使用数据集,但将其移动到.NET类型,然后使用参数化的SQL语句就可以了。

如果你有一个非常大的集合,你可能会考虑查看批量插入,但这取决于集合的大小。

答案 1 :(得分:1)

这是从MySQL到Sql Server 2000的Microsoft指南:

http://technet.microsoft.com/en-us/library/cc966396.aspx

  

SQL Server拥有丰富的工具和实用程序,可以简化从MySQL迁移的过程。 SQL Server 2000数据转换服务(DTS)是一组图形工具和可编程对象,用于提取,转换和合并从不同来源到单个或多个目的地的数据。

通过阅读本文,您可以导入MySQL而无需编写一行C#

答案 2 :(得分:0)

您知道,如果这是您需要执行的过程,但您不仅限于编写自己的代码,您可能需要查看Talend。它是ETL的开源工具(实质上是数据源之间的数据转换)。

它是开源的,并且有一个很好的用于设计变换的GUI - 事物来自哪里以及它们去哪里,以及中间发生的事情。

http://www.talend.com/index.php

只是一个想法,但如果你只是试图达到目标而不是编写工具,那么从长远来看,它可能会更快更灵活。

答案 3 :(得分:0)

最简单的方法是将其转换为Timestamp。

Timestamp SetupStart_ts = rs.getTimestamp("SetupStart");
String SetupStart = SetupStart_ts.toString()

直接将它推送到mssql服务器,它将自动保存在日期时间但是会对其进行修改。谢谢。