Frage

Ich arbeite tatsächlich an einem Talendjob. Ich muss von einer Excel -Datei in eine Oracle 11g -Datenbank laden.

Ich kann nicht herausfinden, wie ich ein Feld meiner Excel -Eintragsdatei in Talend brechen und die zerfuhr in der Datenbank laden kann.

Zum Beispiel habe ich ein Feld wie dieses:

toto:12;tata:1;titi:15

Und ich muss in eine Tabelle laden, z. B. Note:

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

Danke im Voraus

War es hilfreich?

Lösung

In einem Talend -Job können Sie verwenden tFileInputExcel um Ihre Excel -Datei zu lesen, und dann tNormalize um Ihre spezielle Spalte in einzelne Reihen mit einem Separator von ";" aufzuteilen. Danach verwenden Sie tExtractDelimitedFields mit einem Separator von ":", um die normalisierte Säule in in die Spaltung zu teilen name und grade Säulen. Dann können Sie a verwenden tOracleOutput Komponente zum Schreiben des Ergebnisses in die Datenbank.

Diese Lösung ist zwar ausführlicher als der von Alexr vorgeschlagene Java -Snippet, hat jedoch den Vorteil, dass sie innerhalb von Talends grafischem Programmiermodell bleibt.

Andere Tipps

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);
}

Jetzt müssen Sie implementieren dbInsert(). Verwenden Sie es entweder mit JDBC oder mit Tools auf höherer Ebene (z. B. Hivernate, Ibatis, JDO, JPA usw.).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top