SSIS MySQL将表复制到SQL Server

时间:2012-05-04 14:52:34

标签: mysql sql-server ssis

我想将表从MySQL复制到SQL Server。

使用MySQL连接的ADO.NET源。

OLE DB目标,SQL Server。

声明是一份完整的副本,所以没什么大不了的。当我点击播放按钮时,一段时间后会弹出一个错误。我设置了一个DataViewer并重新启动,在检查DataViewer的同时从DataFlow内部运行它。过了一会儿(这次花了更长的时间)错误。

enter image description here

  

错误:数据流任务中的0xC02090F5,ADO NET源1:组件   “ADO NET Source”(1)无法处理数据。致命错误   在数据读取期间遇到。
  错误:数据流任务中的0xC0047038,   SSIS.Pipeline:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。该   组件“ADO NET Source”(1)上的PrimeOutput方法返回错误   代码0xC02090F5。组件返回失败代码时   管道引擎称为PrimeOutput()。失败代码的含义   由组件定义,但错误是致命的和管道   停止执行。在此之前可能会发布错误消息   有关失败的更多信息。

对此错误有任何想法吗?

1 个答案:

答案 0 :(得分:5)

这花了我几天才弄明白......所以我想我会分享我的笔记


如何连接数据并将数据从MySQL加载到SQL Server

1 - 下载32位ODBC驱动程序。  转到MySQL网站并下载:“mysql-connector-odbc-5.2.4-ansi-win32.msi”注意:不要在BIDS 2008上使用64位驱动程序.BIDS 2008是32位。创建SSIS的连接管理器时,您将收到不匹配错误:“指定的DSN包含驱动程序和应用程序之间的体系结构不匹配”

2 - 创建用户DSN您需要打开使用Windows 32 ODBC管理工具。不要在控制面板中打开常规ODBC管理员。打开位于此处的ODBC管理员:c:\ Windows \ SysWOW64 \ odbcad32.exe。如果您使用默认的ODBC管理员...它将无法正常工作。此外,您必须创建“用户DSN” - 而不是系统DSN。否则它将不会显示在SSIS中注意:屏幕看起来相同,因此您将无法知道您是否使用32位BIT ODBC管理工具。

3 - 创建新的SSIS包并创建ADO.NET连接管理器和ADO.NET SQL Server目标。

4 - 更改Source ADO.NET属性。您将收到验证错误,您的包将无法运行。您需要将ADO.NET源中的“ValidateExternalMetadata”更改为FALSE(在“高级编辑器”对话框中)它还会为您提供元数据错误...没关系......只需单击“确定”即可。它仍将拉取元数据(列名/数据类型)。您不能像在SQL Server中那样选择表。您需要键入SQL select语句。

5 - 运行包,应该正常运行并加载。