(→‎EclipseLink DBWS Service based on a PL/SQL Stored Procedure with complex PL/SQL arguments)

Line 32:

Line 32:

T3 BOOLEAN

T3 BOOLEAN

);

);

−

FUNCTION F1(OLDREC IN ARECORD, FOO IN VARCHAR2) RETURN ARECORD;

+

PROCEDURE P1(OLDREC IN ARECORD, FOO IN VARCHAR2, AREC OUT ARECORD);

END SOMEPACKAGE;

END SOMEPACKAGE;

</source>

</source>

−

Because PL/SQL record and collection types cannot be transported over JDBC, an anonymous block of PL/SQL code will be generated that contains functions that convert to/from JDBC and PL/SQL types. In order for this to work, each PL/SQL record or collection type that will be an <tt>IN</tt>, <tt>IN OUT</tt>, <tt>OUT</tt> or <tt>RETURN</tt> argument will need to have an equivalent JDBC type - the name of the type is expected to be in the form <code><package name>_<type name></code>. In this example, the following JDBC type is required:

+

Because PL/SQL record and collection types cannot be transported over JDBC, an anonymous block of PL/SQL code will be generated that contains functions that convert to/from JDBC and PL/SQL types. In order for this to work, each PL/SQL record or collection type that will be an <tt>IN</tt>, <tt>IN OUT</tt>, <tt>OUT</tt> or <tt>RETURN</tt> argument (or any PL/SQL record/collection type nested within these) will need to have an equivalent JDBC type - the name of the type is expected to be in the form <code><package name>_<type name></code>. In this example, the following JDBC types are required:

Because PL/SQL record and collection types cannot be transported over JDBC, an anonymous block of PL/SQL code will be generated that contains functions that convert to/from JDBC and PL/SQL types. In order for this to work, each PL/SQL record or collection type that will be an IN, IN OUT, OUT or RETURN argument (or any PL/SQL record/collection type nested within these) will need to have an equivalent JDBC type - the name of the type is expected to be in the form <package name>_<type name>. In this example, the following JDBC types are required:

The DBWSBuilder utility requires a DBWS configuration file as input. Note that the return type will be SOMEPACKAGE_ARECORD; this is a complex type in the generated EclipseLink DBWS schema (below), which in this case is constructed based on the contents of the package SOMEPACKAGE.