Empty result with tELTOracleInput->tELTOracleMap->tELTOracleOutput
I design a very simple test job which basically filter out some columns from source table and then insert into a target table. Both source and target table are in the same database. After run job, it appears as completed successfully. However, the target table is empty. I also tried to link tOracleCommit after tELTOracleOutput, but result is still empty. Any idea what went wrong? The message from Run Job shows: ---------------------------------------------------------------------------- Starting job CreateEventTemp at 21:23 09/11/2011. connecting to socket on port 3987 connected Inserting with : INSERT INTO DBI.FP_TEMP_EVENT(EVENT_ID,EVENT_STATUS_TYPE_ID,CREATED) (SELECT DBI.EVENT_STATUS.EVENT_ID, DBI.EVENT_STATUS.EVENT_STATUS_TYPE_ID, DBI.EVENT_STATUS.CREATED FROM DBI.EVENT_STATUS) --> 17730 rows inserted. disconnected Job CreateEventTemp ended at 21:23 09/11/2011. ----------------------------------------------------------------------------
I copied a block of code generated for tELTOracleMap_1Process() here:
-> System.out.println("Inserting with : \n" + insertQuery + "\n");
-> nb_line_inserted_tELTOracleOutput_3 = pstmt_tELTOracleOutput_3.executeUpdate();
-> System.out.println("--> "+ nb_line_inserted_tELTOracleOutput_3+ " rows inserted. \n");
-> pstmt_tELTOracleOutput_3.close();
---- many lines of code here -----
-> tOracleCommit_1Process(globalMap);
I wondered what does pstmt_tELTOracleOutput_3.close() do? Will it close the db connection? The commit happened afterwards.
Hi
There is no a tOracleConnection to create a db connection in the job, so the tOracleCommit will not commit the changes and close the connection. The job design looks like:
tOracleConnection
|
onsubjobok
|
tELTOracleInput->tELTOracleMap->tELTOracleOutput
|
onsubjobok
|
tOracleCommit
on tELTOracleMap, check the option 'using existing connection'.
Best regards
Shong