我正在尝试使用基于公共(public)键的另一个表中的数据更新表中的字段。如果它是直接 SQL,它会是这样的:
Update EHSIT
set e.IDMSObjID = s.IDMSObjID
from EHSIT e, EHSIDMS s
where e.SITENUM = s.SITE_CODE
但是,这两个表不在同一个数据库中,所以我尝试使用 SSIS 进行更新。哦,sitenum/site_code 一个是 varchar,另一个是 nvarchar,所以我必须进行数据转换,以便它们匹配。
我该怎么做?
我有一个数据流对象,源为 EHSIDMS,目标为 EHSIT。我有一个数据转换来将 unicode 转换为非 unicode。但是如何根据比赛进行更新?我已经尝试使用目标,使用 SQL 命令作为数据访问模式,但它似乎没有源表。如果我只是映射要更新的字段,它如何根据字段匹配来限制它?
我即将将我的源表导出到 Excel 或其他东西,然后尝试从那里输入,尽管似乎我能做的就是删除数据转换步骤。
不应该有更新数据任务之类的吗?它是那些数据流转换任务之一,我只是不知道它是什么?
最佳答案
您可以使用 SQLCommand(带参数),但实际上您正在编写 UPDATE
对于每一行。我发现最好在目标端编写一个临时表(来自远程端的所有数据或由 SSIS 确定要更改的数据)并使用单个 SQL UPDATE
执行更新。
关于sql-server-2005 - 使用 SSIS 更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/879853/