luglio 2007 - Posts

Generazione di un Guid nell'ambito SSIS

Per l'uso di un campo GUID in una tabella è necessario

richiamare in fase di inserimento o update la funzione di SQL NewID() per avere la generazione dell'identificatore univoco,

Ma a volte non si vuole utilizzare appositamente un blocco SQL nel corso di un dataflow per questa operazione, quindi alternativamente si può passare attraverso

uno script sempre all'interno del dataflow, usando il seguente codice:


Dim gATD As System.Guid

gATD = System.Guid.NewGuid()


il quale dichiara un'oggetto di tipo System.Guid e lo istanzia attraverso la chiamata System.Guid.NewGuid().

Per assegnarlo poi alla colonna  GUIDATD, dichiarata di tipo unique identifier [DT_GUID], si esegue

Row.GUIDATD = gATD

naturalmente in precedenza se Row.GUIDATD era fra le possibili colonne di input, si imposta la modalità READWRITE nella sezione Inputcolumn, altrimenti basta dichiararla con il giusto tipo tra le colonne di Output (unique identifier [DT_GUID]).

ciao ciao 

 

 

Posted: venerdì 20 luglio 2007 10.18 by angeladin with no comments

Filed under:

Nota sul Mapping delle Variabili

oggi vorrei appuntare un piccolo problema che ho affrontato:

bisognava data una query tipo :

select Id, res from logfiles where namefile = ?

(usando una connessione tipo OLEDB )

si mappano le variabili in input nel seguente modo:

Var                direction     data_Type      VarName

NomeFile       INPUT         VARCHAR      0

 

il Result Set invece è

ResultName    Variablename

0                     Id

1                    Result

 

ATTENZIONE: l'indice dato alle variabili di ritorno riparte da 0 in quanto sono insiemi separati.

 
 Inoltre la query è stata modificata nel seguente modo:

  select CONVERT(INTEGER,Id) AS IDINT, res from logfiles where namefile = ?

in quanto i tipi disponibili per le variabili dell'SSIS è int32 o int16 e giù di lì,

mentre la colonna ID nel db è di tipo NUMERIC(18,0),

il cast in questo caso non è automatico, quindi necessita un'operazione del genere.
 

Angela

Posted: venerdì 6 luglio 2007 8.47 by angeladin with no comments

Filed under: