IBM Support

PH16450: ECLIPSELINK: ORA-06550: ILLEGAL CHARACTER '>' IN STORED PROCEDURE ON ORACLE

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Using StoredProcedures, with named parameters, on an Oracle
    platform results in an incorrect SQL query syntax and an
    ORA-06550 exception thrown from the driver. Oracle should be
    using specification compliant parameter markers `?`. The
    issue
    is due to a regression in PH08220.
    
    Exception:
    
    Internal Exception: java.sql.SQLException: ORA-06550: line
    1,
    column 41:
    PLS-00103: Encountered the symbol ">" when expecting one of
    the
    following:
    
    . ( ) , * @ % & = - + < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like like2
    like4 likec between || multiset member submultiset
    

Local fix

  • Use indexed parameters instead of named parameters.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server - Java Persistence API - JPA         *
    *                  2.1,EclipseLink, & Oracle                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: EclipseLink uses the wrong characters   *
    *                      to represent named parameters using     *
    *                      stored procedures                       *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    This is a regression fix for PH08220 that delivered support for
    named parameters for DB2. Adding that support caused EclipseLink
    to start generating incorrect syntax for named parameters with
    Oracle.
    
    EclipseLink uses the following parameter syntax for stored
    procedures, for Oracle:
        in_param_one => ?
    
    However, that syntax only works for index parameters... not
    named parameters. Using named parameters translates this syntax
    into:
        in_param_one => IN_PARAM_ONE => :0
    
    The following error is thrown if named parameters are used:
    
    W CWWJP9991W: Exception [EclipseLink-4002] (Eclipse Persistence
    Services - 2.6.8.WAS-v20190529-ec0c5ae):
    org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: ORA-06550: line 1,
    column 41:
    PLS-00103: Encountered the symbol ">" when expecting one of the
    following:
    
       . ( ) , * @ % & = - + < / > at in is mod remainder not rem
       <an exponent (**)> <> or != or ~= >= <= <> and or like like2
       like4 likec between || multiset member submultiset
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    PH16450

  • Reported component name

    WAS LIBERTY COR

  • Reported component ID

    5725L2900

  • Reported release

    CD0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-09-06

  • Closed date

    2019-11-22

  • Last modified date

    2019-12-05

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WAS LIBERTY COR

  • Fixed component ID

    5725L2900

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSD28V","label":"WebSphere Application Server Liberty Core"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"CD0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
05 December 2019