有没有办法将同一输入列映射到OLEDB Command对象中的多个参数,或映射到OLE Destination对象中的多个目标列?
我是否必须使用其他名称制作源列的副本才能执行此操作?这似乎是......蹩脚。
当我需要像这样做更新时
更新MyTable 设置foo =? 其中foo< ?
并为两个地方使用相同的输入列,除非我创建输入列的副本并将两个不同的源列传递给两个不同的参数,否则我似乎无法这样做。
答案 0 :(得分:1)
(我知道这篇文章很老但我来这里寻找答案)
我遇到了这个问题,并且能够使用名称映射参数。就我而言,我正在连接Oracle。
DELETE table1
WHERE table1.id = :ID_NBR
AND table1.id NOT IN (SELECT table2.id
FROM table2
WHERE table2.id = :ID_NBR)
我没有尝试使用SQL SERVER,但我认为它适用于@ID_NBR参数。
答案 1 :(得分:0)
据我所知,不是OLEDB。
答案 2 :(得分:0)
您始终可以在源和目标之间放入数据转换组件,并将所需的列映射到相同的数据类型。
答案 3 :(得分:0)
我认为这是可能的。如果您打开高级编辑器对话框并转到上一个选项卡(我的PC中没有BIDS,我需要对GUI进行一些猜测)有一个部分用于配置输出列,您可以在那里创建一个新的重复列它映射到与原始列相同的源。在目标任务中,您可以将重复列映射到所需的列。
但如果没有该列的副本,你就无法做到这一点。只是您不必使用单独的构造创建派生列。但是如果它是ODBC,你可以使用参数名称进行映射(而不是参数位置,如0,1,2,..),那么你就不会有问题,AFAIK:)