SSIS MySQL 复制表到 SQL Server

Posted

技术标签:

【中文标题】SSIS MySQL 复制表到 SQL Server【英文标题】:SSIS MySQL Copying Table to SQL Server 【发布时间】:2012-05-14 03:17:57 【问题描述】:

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

ADO.NET 源使用 MySQL 连接。

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()。故障码的含义 由组件定义,但错误是致命的并且管道 停止执行。在此之前可能会发布错误消息 提供有关失败的更多信息。

关于这个错误的任何想法?

【问题讨论】:

可能有多个错误消息 - 请发布它们 【参考方案1】:

这花了我几天时间才弄清楚……所以我想我会分享我的笔记


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

1 - 下载 32 位 ODBC 驱动程序。 访问 MySQL 网站并下载:“mysql-connector-odbc-5.2.4-ansi-win32.msi” 注意:请勿在 BIDS 2008 上使用 64 位驱动程序。BIDS 2008 是 32 位的。创建 SSIS 的连接管理器时会出现不匹配错误:“The specified DSN contains an architecture mismatch between Driver and Application”

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

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

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

5 - 运行包,应该可以正常运行和加载。

【讨论】:

尽管 8 年后,这个回复帮助了我 :) 谢谢。 .Net 连接器数据流成功率与 ODBC 连接器数据流相比非常差

以上是关于SSIS MySQL 复制表到 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

如何复制MySQL数据库或表到另外一台服务器

如何复制MySQL数据库或表到另外一台服务器

mysql怎么复制一个数据库中的一张表到另外一个数据库~~~~

mysql怎么复制一个数据库中的一张表到另外一个数据库~~~~

如何复制MySQL数据库或表到另外一台服务器?

SSIS MYSQL 到 SQL 数据类型