8

我在 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 等。有没有办法让它们显示为列名?

4

2 回答 2

5

我发现 SSIS 将从存储过程中读取列名,而不是从 OLE DB 命令的 SQL 命令中读取!

但是,它不会忽略参数名称的 @,因此智能匹配不适用于 CustomerId 与 @CustomerId。

为使用存储过程的每个人 +1。:-)

于 2009-07-20T17:13:38.177 回答
3

您可以在“输入/输出属性”选项卡中手动重命名它们(它们位于“外部列”下),但它们将始终实例化为PARAM_0, PARAM_1, ...

于 2009-07-16T14:40:27.607 回答