SSIS MySQL将表复制到SQL Server

Dan*_*Sh. 1 mysql sql-server ssis

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

使用MySQL连接的ADO.NET源代码.

OLE DB目标,SQL Server.

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

在此输入图像描述

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

对这个错误有什么想法吗?

小智 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 - 运行包,应该正常运行和加载.