我在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等。有没有办法让它们显示为列名?
我发现SSIS将从存储过程中读取列名,而不是OLE DB命令的SQL命令!
但是,它不会忽略@参数名称,因此智能匹配对CustomerId与@CustomerId不起作用。
每个使用存储过程的人都为+1。 :-)
您可以在“输入/输出属性”选项卡中手动重命名它们(它们位于“外部列”下),但它们将始终实例化为PARAM_0
,PARAM_1
,...