You have an external C procedure stored in a dynamic-link library (DLL).
The C procedure takes an integer as argument and returns an integer. You want to invoke the C
procedure through a PL/SQL program.
View the Exhibit.
Which statement is true about the C_OUTPUT PL/SQL program?
A.
It invokes the external C procedure.
B.
It only publishes the external C procedure.
C.
It fails because the external C procedure is not published.
D.
It fails because the input data type is BINARY_INTEGER and the external C procedure
expects an integer.
C.
It should be something as this:
Publishing External C Procedures
In the following example, you write a PL/SQL standalone function named plsCallsCdivisor_func that publishes C function Cdivisor_func as an external function:
CREATE OR REPLACE FUNCTION Plscallscdivisor_func (
/* Find greatest common divisor of x and y: */
x BINARY_INTEGER,
y BINARY_INTEGER)
RETURN BINARY_INTEGER
AS LANGUAGE C
LIBRARY C_utils
NAME “Cdivisor_func”; /* Quotation marks preserve case. */
http://docs.oracle.com/cd/B10501_01/appdev.920/a96590/adg11rtn.htm
C