【发布时间】:2014-05-23 19:05:30
【问题描述】:
我正在寻找将行从 MySQL 连接插入或更新到 SQL Server 连接的最佳做法。
首先,我添加了一个 ADO.NET 数据源来抓取 MySQL 内容(一个简单的表 Supplier 具有两个字段 id 和 name)。然后,我添加了一个查找转换来拆分新行/更新的行。当我需要插入新行时它工作得很好。但是,我想使用 Command OLE DB 来更新现有行,但由于我的连接管理器和组件(ADO.NET 与 OLE DB)之间的不兼容,它不起作用。
有更新修改行的想法吗?!我应该使用缓存组件吗?!
提前致谢!
【问题讨论】:
-
这篇文章解释了如何使用 SSIS 将数据从 SQL Server 更新到 MySQL。但是,由于连接器(ADO.NET / OLE DB)的限制,从 MySQl 导入到 SQL Server 的过程比从 SQL Server 导入到 MySQL 更复杂。
-
你不能反过来做同样的事情吗?为暂存表中的 SQL Server 数据库使用 OLE DB 目标连接,然后对最终表运行 UPDATE 或 MERGE?
-
好的。因此,首先我需要创建一个新的 SQL Server 连接来存储我的临时表,然后将匹配的行输出(查找组件的)连接到一个新的目标 OLE DB 组件(链接到我的临时表)。其次,我需要添加一个新的数据流来读取临时表,执行 OLE DB 命令来更新内容。但是,我不明白如何将这些链接到步骤。我应该创建两个数据流并添加优先级约束以在导出之前执行导入吗?此外,如何使用 SSIS 创建临时表并在最后完成 troncate ?谢谢。
标签: mysql sql-server ssis ado.net