SSIS 中的别名参数
Posted
技术标签:
【中文标题】SSIS 中的别名参数【英文标题】:Alias parameters in SSIS 【发布时间】:2009-07-16 12:50:20 【问题描述】:我在 SSIS 中使用 OLE DB 命令,其 SQL 命令如下所示:
UPDATE DBO.CLIENT
SET
TimeZoneID = ?,
DaylightSavingTime = ?,
ModifiedBy = ?,
MicrosPropertyID = ?,
IsOffline = ?,
GlobalReporting_MaskPatronNumberType = ?,
GlobalReporting_PatronNumberReadableCharacters = ?,
GlobalReporting_MaskPrimaryCardType = ?,
GlobalReporting_PrimaryCardReadableCharacters = ?,
BICAddedDateTime = ?,
BICUpdatedDateTime = ?,
IsDBInDailyBoardRate = ?
WHERE
ClientID = ?
当我尝试进行列映射时,这些参数显示为 PARAM_0、PARAM_1、PARAM_2、PARAM_3 等。有没有办法让它们显示为列名?
【问题讨论】:
【参考方案1】:我发现 SSIS 将从存储过程中读取列名,而不是从 SQL 命令中读取 OLE DB 命令!
但是,它不会忽略参数名称的 @,因此智能匹配不适用于 CustomerId 与 @CustomerId。
+1 对于使用存储过程的每个人。 :-)
【讨论】:
【参考方案2】:您可以在“输入/输出属性”选项卡中手动重命名它们(它们位于“外部列”下),但它们将始终实例化为 PARAM_0
、PARAM_1
、...
【讨论】:
@Eric:SSIS 2008 不允许我更改名称。 @Tapori:你说得对,我在想 OLEDB Source。更新以反映 OLEDB 命令任务。 @Eric:如果您使用存储过程而不是 SQL 命令,SSIS 会识别参数并按名称而不是 PARAM_0、1 等将它们拉入。我会立即尝试您的建议。 @Eric:我在 SSIS 中发现了一个错误。我可以重命名它,但如果我关闭并重新打开 SSIS,它就会恢复到原来的名称。以上是关于SSIS 中的别名参数的主要内容,如果未能解决你的问题,请参考以下文章
WHERE Column IN 来自 SSIS 上的 DB2 中的参数
Powershell Array Strings - 在 SSIS 中映射不同的变量参数名称