2009-07-16 9 views
8

Używam polecenia OLE DB w SSIS dla którego polecenie SQL wygląda następująco:parametry alias w SSIS

UPDATE DBO.CLIENT 
SET 
    TimeZoneID = ?, 
    DaylightSavingTime = ?, 
    ModifiedBy = ?, 
    MicrosPropertyID = ?, 
    IsOffline = ?, 
    GlobalReporting_MaskPatronNumberType = ?, 
    GlobalReporting_PatronNumberReadableCharacters = ?, 
    GlobalReporting_MaskPrimaryCardType = ?, 
    GlobalReporting_PrimaryCardReadableCharacters = ?, 
    BICAddedDateTime = ?, 
    BICUpdatedDateTime = ?, 
    IsDBInDailyBoardRate = ? 
WHERE 
    ClientID = ? 

Kiedy próbuję zrobić mapowania kolumn, parametry te pojawiają się jako PARAM_0, PARAM_1, PARAM_2, PARAM_3 itd. Czy istnieje sposób, aby je wyświetlić jako nazwę kolumny?

Odpowiedz

4

stwierdziliśmy, że SSIS będzie czytać kolumnę nazwy z procedury składowanej zamiast polecenia SQL dla polecenia OLE DB!

Nie spowoduje to jednak zignorowania znaku @ dla nazwy parametru, dlatego inteligentne dopasowanie nie działa w przypadku CustomerId kontra @ Customer customer.

+1 dla każdego, kto używa przechowywanych procesów. :-)

3

Można zmienić je ręcznie w zakładce Input/Output Properties (mieszkają pod „Kolumny zewnętrzne”), ale zawsze będą wystąpienia do PARAM_0, PARAM_1 ...

+0

@Eric: SSIS 2008 nie pozwala mi zmienić nazwy. –

+0

@Tapori: Masz rację, myślałem o źródle OLEDB. Zaktualizowano, aby odzwierciedlić zadanie polecenia OLEDB. – Eric

+0

@Eric: Jeśli używasz procedury składowanej zamiast polecenia SQL, SSIS rozpoznaje parametry i pobiera je według nazwy zamiast PARAM_0, 1 itd. Spróbuję tego, co zasugerowałeś od razu. –