SSIS 使用包含 ID 和更新值的平面文件更新行

发布于 2024-10-30 23:07:31 字数 452 浏览 0 评论 0原文

我是 SSIS 新手,并尝试创建一个数据流任务来完成此类事情:

UPDATE dbo.table1
SET lastname = t2.lastname
FROM table1 t1
JOIN table2 t2
ON t1.Id = t2.Id

除了我想使用制表符分隔文件中的 table2 值来完成此操作,如下所示:

ID lastname
1 卡罗尔
2 帕特尔
3 Smith

我不想将表 2 ETL 到数据库中。

我尝试使用平面文件提取值,然后添加 OLE DB 数据目标,但这会导致 SSIS INSERT 值,而不是加入 ID 和 UPDATING em> 列出的字段。

使用 SSIS 进行此类更新的正确方法是什么?

TIA,

特雷·卡罗尔

I'm new to SSIS and trying to create a dataflow task that will accomplish this type of thing:

UPDATE dbo.table1
SET lastname = t2.lastname
FROM table1 t1
JOIN table2 t2
ON t1.Id = t2.Id

Except I want to do it with the values for table2 being in a tab-delimited file like this:

ID lastname
1 Carroll
2 Patel
3 Smith

And I don't want to have to ETL table 2 into the database.

I have tried using a flat-file to pull in the values and then adding an OLE DB Data Destination, however this causes SSIS to INSERT the values rather than joining on the ID and UPDATING the field listed.

What is the correct way to approach an update of this kind with SSIS?

TIA,

Trey Carroll

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

罪歌 2024-11-06 23:07:31

我就是这样做的:

  1. 设置一个数据流任务,以平面文件作为源。
  2. 添加查找转换,并将其设置为按 id 查找表 1 并返回姓氏。
  3. 将执行 OLE DB 命令转换添加到“成功时”数据流,并执行适当的 SQL 代码来更新表 1。

这种方法的缺点是它会为匹配的每一行执行 SQL 命令,而且效率可能很低。这个数字很高。如果您可以将平面文件加载到临时表,然后执行更新,那么效率会更高。

This is how I'd do it:

  1. Set a dataflow task, with the flat file as source.
  2. Add a lookup transformation, and set it up so it looks up table 1 by id and returns lastname.
  3. Add an Execute OLE DB command transformation to your "on success" dataflow, and execute the appropriate SQL code to update Table 1.

The con of this approach is that it executes the SQL command for every row that matches, and it can be inefficient it that number is high. It would be much more efficient if you could load the flat file to a temporal table, and then perform the update.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文