Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Timestamp in SSIS
martedì 18 novembre 2008 - 17.35
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
squilibrium
Profilo
| Junior Member
168
messaggi | Data Invio:
mar 18 nov 2008 - 17:35
Ciao a tutti
Sto sviluppando un package che contiene, all'interno di un dataflow, uno script component che usa una variabile readwrite di tipo object.
in precedenza la variabile viene valorizzata recuperando (attraverso una select) il valore di un campo di tipo 'Timestamp'.
Nel dataflow in pratica io leggo i dati da una tabella che contiene anche essa dei campi di tipo timestamp e li passo allo script component
lo script elabora il flusso dati e confronta tali campi timestamp (che dal componente vengono visti come array di byte) con il valore della variabile readwrite e mi deve valorizzare poi tale variabile con il più grande di tutti loro
Il problema principale è che alla fine quando vado a scrivere su un'altra tabella (all'interno di un campo di tipo varbinary(8)) il valore della variabile, mi inserisce sempre '0x00' come se non fosse stata valorizzata mentre in realtà sono sicuro che lo è mandando in debug e usando la finestra 'locals' ho verificato.
Avete qualche informazione sul trattamento dei dati di tipo timestamp all'interno di un package???
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 25 nov 2008 - 23:50
>Ciao a tutti
Ciao!
>in precedenza la variabile viene valorizzata recuperando (attraverso
>una select) il valore di un campo di tipo 'Timestamp'.
devi usare per forza quel tipo?
>lo script elabora il flusso dati e confronta tali campi timestamp
>(che dal componente vengono visti come array di byte) con il
>valore della variabile readwrite e mi deve valorizzare poi tale
>variabile con il più grande di tutti loro
Ma è necessario usare uno script component per ottenere il massimo dei timestamp?
Non ti basta una MAX sul campo della tabella?
>Il problema principale è che alla fine quando vado a scrivere
>su un'altra tabella (all'interno di un campo di tipo varbinary(8))
>il valore della variabile, mi inserisce sempre '0x00' come se
>non fosse stata valorizzata mentre in realtà sono sicuro che
>lo è mandando in debug e usando la finestra 'locals' ho verificato.
E perchè cerchi di metterlo in un varbinary? Ma soprattutto perchè hai scelto il timestamp? Non era meglio un bel datetime?
--
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
squilibrium
Profilo
| Junior Member
168
messaggi | Data Invio:
mer 26 nov 2008 - 10:34
In pratica io ho una vista su un database esterno dal quale mi importo i dati.
Tale vista ha 5 campi di tipo timestamp e io:
- Prendo tutti i record dove almeno uno dei 5 timestamp sia maggiore di un timestamp che tengo memorizzato.
- Mi copio i dati ai quali applico le mie trasformazioni
- Mi memorizzo il max timestamp (mi prendo il max tra tutti e 5 i campi e per tutti i record che ho importato)
Per memorizzare il timestamp massimo su una tabella, il tipo di dato deve essere varbinary o binary in quanto su un campo timestamp non si può scrivere.
Quando mi sono trovato a creare il task (Execute slq task) che doveva scrivere tale campo in tabella (una query del tipo
UPDATE TB_ELABORAZIONE SET MAX_TIMESTAMP = ?
), non sono riuscito ad assegnare il tipo giusto al parametro che avrebbe dovuto contenere il valore (memorizzato in una variabile globale di tipo object).
Alla fine ho risolto tutto ovviamente con SQL
ma ho dovuto far modificare la vista di partenza per facilitarmi la vita....
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !