I got the requirement like this,
Create a single Talend job with reads multiple tables and writes to multiple files dynamically(when we give a tablename via context variable the job should take that table as select * from tablename
and writes to file tablename.txt)
My oracle query given in toracle input stage-
"SELECT * FROM '"+context.Table_Name+"'"
In Context Variable part given as
Table_Name- String- checked Prompt for value for dynamic table name
In the metadata definition for Oracle table I gave as
Type="dynamic" db type="varchar2"
Issues Facing:
The context variable is not been identified by the job
ORA-00903: invalid table name Exception in component tOracleInput_1 java.sql.SQLSyntaxErrorException: ORA-00903: invalid table name at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
But when I hard code the tablename, job is running fine
The target file path I gave as
"C:/Talend/OutputFIles/context.Table_Name.txt"
Instead of printing value of context variable, I am getting as context.Table_Name.txt
as filename!!!
Please help me on this