2011-11-18 14 views
13

Desidero eseguire transazioni durante la scrittura in DB in Talend, ma non so come. Ho provato vari componenti dalla tavolozza, ma non sono riuscito a farcela. Gradirei qualsiasi aiuto o meglio qualsiasi tutorial relativo a questo argomento.Transazioni in Talend

Grazie!

risposta

13

Talend supporta il rollback della transazione e il commit durante la scrittura in DB.

Prendiamo Mysql ad esempio: utilizzare tMysqlConnection per creare una connessione DB all'inizio del lavoro e utilizzare un tMysqlCommit per confermare la modifica e vicino se il subjob precedente funziona bene, tMysqlRollback al rollback il cambiamento, se il precedente lavoro subjob fallimento, il lavoro semplice assomiglia:

tMysqlConnection_1 
    | 
onsubjobok 
    | 
tFileInputDelimited--main---tMysqlOutput 
    | 
onsubjobok---tMysqlCommit 
onsubjoberror---tMysqlRollback 

su tMysqlOutput, selezionare l'opzione using an existing connection

+1

E ricordarsi di deselezionare "Auto Commit" nel componente tMysqlConnection (scheda "Impostazioni avanzate"). –

2

ci sono vari metodi di scrittura dei dati in un DB di Talend. È possibile utilizzare un componente di connessione separato (utilizzare una connessione esistente) o utilizzare un built-in. Quando si utilizza un componente di connessione separato, è necessario eseguire il commit esplicito della transazione utilizzando un componente tMSSqlCommit (o un componente simile per un altro tipo di database). Se si utilizza un built-in, la transazione automatica si esegue senza un componente tMSSqlCommit (o un componente simile per un altro tipo di database).

Ho preparato un tutorial più dettagliato per te ma ho bisogno di punti reputazione per postare immagini. Cercherò di portarli sul file server in modo che possa collegarmi a loro e pubblicare la risposta più dettagliata.