2017-05-09 1 views
0

이 요구 사항을 받았습니다. 여러 테이블을 읽고 동적으로 여러 파일에 쓰는 단일 Talend 작업을 만듭니다 (컨텍스트 변수를 통해 tablename을 지정하면 해당 테이블을 select * from tablename 등)에 주어진Talend에서 동적 작업 생성에 문제가 발생했습니다.

내 오라클 쿼리를 tablename.txt를 파일에 기록 toracle 입력 건배!

Table_Name- String- checked Prompt for value for dynamic table name 
0123로 주어진 컨텍스트 변수 부분에서

"SELECT * FROM '"+context.Table_Name+"'" 

Oracle 테이블에 대한 메타 데이터 정의에

내가 직면

Type="dynamic" db type="varchar2" 

문제로 주었다

  1. 컨텍스트 변수가 작업

    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) 
    

    에 의해 확인되지 않고 하드 때 tablename을 코드화하면 작업이 정상적으로 실행 중임

  2. 내가 준 대상 파일 경로 대신 환경 변수의 인쇄 값의

"C:/Talend/OutputFIles/context.Table_Name.txt" 

, 나는이 파일 이름으로 context.Table_Name.txt로 무엇입니까!

당신이 테이블 이름 주위에 '제거하려고 했이

답변

2

에 제발 도와주세요?
이 시도 : 은 파일 이름 건설 동일
"SELECT * FROM " + context.Table_Name

, 당신이 작성해야 :
"C:/Talend/OutputFIles/" + context.Table_Name + ".txt"

더 나은, 당신은 상황 변수에 의해 정의 된 경로가 있어야 제공 :
context.OutputPath + context.Table_Name + ".txt"

재단을

+0

당신 완전한 재료는 움직이게하게되었다! 다시 한번 고마워 !! :) – NMB

관련 문제