Pregunta

De hecho, estoy trabajando en un trabajo de Talend. Necesito cargar desde un archivo de Excel a una base de datos Oracle 11G.

No puedo entender cómo romper un campo de mi archivo de entrada de Excel dentro de Talend y cargar la cadena rota en la base de datos.

Por ejemplo, tengo un campo como este:

toto:12;tata:1;titi:15

Y necesito cargar en una mesa, por ejemplo, grado:

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

Gracias por adelantado

¿Fue útil?

Solución

En un trabajo de talendos, puedes usar tFileInputExcel para leer su archivo de Excel y luego tNormalize Para dividir su columna especial en filas individuales con un separador de ";". Después de eso, usa tExtractDelimitedFields con un separador de ":" para dividir la columna normalizada en name y grade columnas. Entonces puedes usar un tOracleOutput componente para escribir el resultado en la base de datos.

Si bien esta solución es más detallada que el fragmento de Java sugerido por Alexr, tiene la ventaja de que permanece dentro del modelo de programación gráfica de Talend.

Otros consejos

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

Ahora tienes que implementar dbInsert(). Hágalo usando JDBC o usando cualquier herramienta de nivel superior (por ejemplo, VIVERNATE, IBATIS, JDO, JPA, etc.).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top