Come CAST SQL Server tipo varbinary a intero in SSIS?

voti
0

Ho bisogno di utilizzare un insieme di dati binari in una trasformazione come un intero e fare un po 'di manipolazione, ma come fare il casting? Ho provato molti tipi di dati SSIS, ma senza fortuna. Tra l'altro io non voglio usare un'attività di script.


[Section Aggiornato sotto]

I dati sono i valori memorizzati nella colonna update_mask __ $ dei fn_cdc_get_net_changes funzione CDC. Segue il CAST sto tentando in SSIS,

(__$operation == 4) && (((DT_I8)__$update_mask & @[User::SCDColumnNumber]) > 0)

Il codice TSQL corrispondente sarà

SELECT 
CASE WHEN (CAST(__$update_mask as int) & 16)>0 THEN 1 ELSE 0 END ScdType2,
CAST(__$update_mask as int) Change,
* FROM 
cdc.fn_cdc_get_net_changes_dbo_Transactions
(sys.fn_cdc_get_min_lsn('dbo_Transactions')
,sys.fn_cdc_get_max_lsn(),'all with mask')

che funziona bene. Ma il cast SSIS non è. Spero che questo dà abbastanza informazioni sulla mia domanda.

È pubblicato 07/08/2009 alle 12:55
fonte dall'utente
In altre lingue...                            


1 risposte

voti
0

La colonna update_mask __ $ è di tipo varbinary, lunghezza 128 byte. Non v'è alcun modo può essere colato (senza perdita di informazioni) INT o BIGINT come le dimensioni di destinazione getto sono 4 e 8 byte rispettivamente. Se ho voluto considerare solo i primi 8 byte di 128 byte. Ma ancora una volta, non ho potuto trovare qualsiasi tipo di dati supportato o fusione in SSIS, che può fare il lavoro. Anche se questo può essere fatto in motore di DB e portato a SSIS tardi.

Risposto il 07/09/2009 a 10:37
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more