One Star

ELT Merge for Oracle (or other DB)

Hi All
Talend 4.2.3 , Oracle 11g
Simplest example :
Connection --> Merge
Source and Target tables are same fortest : "TEST"
Merged ON : ID1
Only Update
Only 1 field : VENDOR_CODE
I got error :
Exception in component tSQLTemplateMerge_1
java.sql.BatchUpdateException: error occurred during batching: ORA-00971: missing SET keyword
oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:732)
See java code at 732 :
public String pid = "0";
I wonder - it is simplest case
but I can't get any other info about error to clear s
?1 ) Any ideas how to find reason of error ?
?2) Seems I can't use SQL query as Source for merging
2 REPLIES
One Star

Re: ELT Merge for Oracle (or other DB)

Hi,
We have tow csv file ,
F1 :
A B C, A and B and C are the columns
1 2 3
1 4 9
F2:
D E , D and E are the columns
0 0
0 1
How to merge/append the tow file , If I want to copy/append or merge the tow file to obtain one file like
F3 :
A B C D E
1 2 3 0 0
1 4 9 0 1
How to process ? which coponent to use ?
Thanks
One Star

Re: ELT Merge for Oracle (or other DB)

Hi,
I have faced same issue...
The reason for error is, tSQLMergeTemplate use the following SQL to merge the tables. Instead of using MERGE it uses UPDATE statement to merge the tables.
UPDATE TABLE_1,TABLE_2
SET COLUMN_NAME=VALUE
And this SQL statement is not correct for Oracle and as well as for MSSQL.

Actual SQL generated is :
"UPDATE "
+ "ELT_EMP"
+ ", "
+ "EMP"
+ " SET "
+ updateStr
+ " WHERE ("+ mergeOnStrUpdate+ ")"+ (hasUpdateWhereClause ?

I didn't get resolution over it .because we cannot edit the java code..

Regards,
Rahul