【发布时间】:2017-08-10 20:52:13
【问题描述】:
我尝试了不同的方法来实现从 MySQL 到 MS SQL Server 的增量加载。但发现以下方法最佳:
从目标表中获取 max(UpdateDate) 并读取目标表中所有 UpdateDate > max(UpdateDate) 的记录。 (执行 SQL 任务以从目标表中获取最大日期。存储在变量中)
将这些行加载到临时表中。
使用目标表查找此临时表以查找新的和更改的记录。
更新目标表。
但是我在这种方法中遇到了问题。 SSIS 包失败并出现以下错误:
"[SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。 ADO NET 源上的 PrimeOutput 方法返回错误代码 0xC02090F5。 管道引擎调用时组件返回失败代码 素数输出()。故障代码的含义由 组件,但错误是致命的并且管道停止执行。 在此之前可能会发布带有更多信息的错误消息 关于失败。”
我删除了查找转换并将数据直接加载到目标表中,它工作正常,但它插入了源表中的所有记录。它应该已插入目标表的 UpdateDate > max(UpdateDate) 的记录。
请提出建议。
谢谢!
【问题讨论】:
-
您列出的错误不是确切的错误。可能还有一些错误。你能把它们也列出来吗?
-
它说“ADO Net Source 无法处理数据。在读取数据时遇到致命错误”
-
此错误指向“ADO.Net Source”组件。如果 SQL 有效并且执行没有错误,您能否查看发送到源的参数?
标签: mysql sql-server ssis