on 08-01-2017 6:15 AM
Sender JDBC adapter is configured to fetch data from Oracle DB tables and sent to different MQ queues using JMS receiver adapter based on some identifier from the tables. Now when the adapter polls it fetches multiple rows/records in a single message.
In this scenario each and every row in the table contains a identifier field which determines the destination.Dynamic routing is configured in PI Mapping and value mapping is used to fetch the corresponding MQ Queue.
During testing we found an issue, if a message with two different identifiers is processed then the dynamic routing to corresponding queues is not happening. In this case both messages are going to same queue.
If a messages has multiple rows/records with same identifier then it works. but the above scenario doesn't work.
Is it possible to make the sender adapter to fetch one row at a time from Oracle db.If yes please describe the configs.
Is there any other option available to solve this.?
Vini,
You can use ROWNUM function in your sql statment. Just google this function you will find a lots of example on this.
Br,
Manoj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Manoj,
I am using Inner join in the select query and have to use ROWNUM function only on Table1, so that for each row/record in table1 i can fetch the corresponding multiple rows/records in Table2.
If i use the select query as, Select T1.f1,T2.f2,T3.f3. <..Inner Join...> WHERE T1.f2 = 1 AND T1.ROWNUM ='1' ORDER BY T2.f4
i am getting below error because of T1.ROWNUM in the query.
"The JDBC driver returned the following error message: 'java.sql.SQLSyntaxErrorException: ORA-01747: invalid user.table.column, table.column, or column specification '. For details, contact your database server vendor".
Plz suggest how to perform ROWNUM function on Table1.
User | Count |
---|---|
93 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.