Domanda

In realtà sto lavorando su un lavoro di Talend. Ho bisogno di caricare da un file Excel a un database Oracle 11g.

Non riesco a capire come rompere un campo di mio file excel ingresso all'interno di Talend e caricare la stringa rotto nel database.

Per esempio ho un campo come questo:

toto:12;tata:1;titi:15

E ho bisogno di caricare in una tabella, ad esempio grado:

| name | grade |
|------|-------|
| toto |12     |
| titi |15     |
| tata |1      |
|--------------|

Grazie in anticipo di

È stato utile?

Soluzione

In un lavoro Talend, è possibile utilizzare tFileInputExcel per leggere il file di Excel, e quindi tNormalize di dividere la vostra colonna speciale in singole righe con un separatore di ";". Dopo di che, l'uso tExtractDelimitedFields con un separatore di ":" per dividere la colonna normalizzati in name e grade colonne. Quindi è possibile utilizzare un componente tOracleOutput di scrivere il risultato nel database.

Anche se questa soluzione è più dettagliato rispetto al frammenti Java suggerita da AlexR, ha il vantaggio che rimanga all'interno del modello di programmazione grafica di Talend.

Altri suggerimenti

for(String pair : str.split(";")) {
    String[] kv = pair.split(":");
    // at this point you have separated values
    String name = kv[0];
    String grade = kv[1];

    dbInsert(name, grade);
}

Ora è necessario implementare dbInsert(). Farlo sia tramite JDBC o dell'utilizzo di strumenti di livello superiore (ad esempio Hivernate, iBATIS, JDO, JPA, ecc).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top