>Ciao a tutti, utilizzo SQL Server 2005 e l'ambiente SSIS in quanto
>sto trasportando dei dati tra 2 tabelle eterogene.
Ciao!
>Ho un problema:
>In control flow, ho correttamente inserito un TASK SQL e definito
>una variabile object che viene utilizzata in un oggetto FOREACH LOOP.
>L'oggetto object che viene gestito dal FOREACH ha al suo interno
>4 colonne (ogni risultato/record è formato da 4 campi),dovrei
>convertire (string to integer) 2 di questi 4 campi.
>Come posso fare?
>Il metodo che sto usando è corretto?
Io seguirei un'altra strada.. Che ne dici invece di fare la conversione tramite T-SQL direttamente nell'Execute SQL Task?
una cosa tipo:
SELECT
campo1convertito = CAST(campo1 as Int)
, campo2convertito = CAST(campo2 as Int)
, campo3
, campo4
FROM
tuatabella
WHERE
<tuacondizione>
In questo modo, mappi nel foreach le variabili definite col tipo già corretto (due integer e le altre due come ti servono) e sei già a posto. Il dataflow serve solamente per definire la trasformazione e la copia. Non so perchè usi un execute sql ed un foreach, perchè non ce l'hai spiegato, ma credo che la tua trasformazione si possa fare con un solo DataFlow Task nel control flow. Definisci una sorgente (che è quella dell'executesql task se non ho capito male) e poi la porti verso una destinazione, ed il gioco è fatto.
>Infine, come faccio a gestire,in CONTROL FLOW un evento SELECT - CASE ?
Cosa intendi? Mi verrebbe da rispondere con una SELECT CASE , ma devi illustrarmi il problema in maniera più dettagliata perchè così non posso aiutarti.
>grazie
di nulla!
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org