cancel
Showing results for 
Search instead for 
Did you mean: 

Rare issue in JDBC Sender Communication channel to pull the data from view

Former Member
0 Kudos

Hi Experts,

I have an issue in JDBC Sender Comm Channel, Where I'm trying to pull the data from view facing an issue in the channel log.

The PI channel is successfully connecting to the third part system but the channel in error.

I have put the the statement as SELECT * FROM viewname

in update statement just put "*"

Is there anything required as I never worked with view.

FYI Error description

Database-level error reported by JDBC driver while executing statement '*'. The JDBC driver returned the following error message: 'java.lang.NullPointerException: while trying to read the field 'lastRowProcessed' of a null object loaded from an array (which itself was loaded from field oracle.jdbc.driver.T4C8Oall.definesAccessors of an object) with an index loaded from a constant'. For details, contact your database server vendor.

Please provide inputs:(

Thanks

Vinod

Accepted Solutions (1)

Accepted Solutions (1)

manoj_khavatkopp
Active Contributor
0 Kudos

Hi Vinod,

You are not supposed to use * in sender channel if you dont have update query just mention as <TEST>

But how does it make sense of not using update query because you are using select query , how are you taking care of not fetching the same records again ?

Usually the update query is made as <TEST> only when you are executing stored procedure(Which does both select and update). But in your case as it is select query you need to have update query as well to avoid duplicate record fetching.

Br,

Manoj

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Manjoy,

thanks for your inputs, Could you please correct this query below

select query : SELECT * FROM <VIEWNAME> WHERE SET FLAG='X'

correct me if the channel is picking some data I will update with UPDATE query meanwhile I just put as <TEST> where the data is test data only

manoj_khavatkopp
Active Contributor
0 Kudos

Try as below , if it gives error just give as select * from <view_name> where flag='X';

SELECT * FROM LANDMAN.CDFORWARDDATAFILTERED WHERE  FLAG='X'