Skip to Content
avatar image
Former Member

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

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    Aug 18, 2017 at 03:40 PM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 18, 2017 at 04:31 PM

    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

    Add comment
    10|10000 characters needed characters exceeded

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

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