You should grant the CREATE LIBRARY as:
GRANT CREATE LIBRARY TO <schema>;
You should create a dummy dll file like this:
C:\oracle\blabla\blabla.dll
You should create LIBRARY:
CREATE OR REPLACE LIBRARY blabla_dll
IS 'C:\oracle\blabla\blabla.dll'
After that you can execute the package.sql script like this:
CREATE OR REPLACE PACKAGE example
/**
This is an example package for LIBRARY bug.<br>
*/
IS
/**
This document has not been parsed.<br>
Error at LIBRARY row. <br>
@params a - input1
@params b - input2
@params c - input3
*/
PROCEDURE trial_dll(
in1 IN NUMBER) AS LANGUAGE C
LIBRARY blabla_dll
NAME "something"
WITH CONTEXT
PARAMETERS (
context,
in1);
/**
This document has been parsed normally.
@params a - input1
@params b - input2
@params c - input3
*/
PROCEDURE any_procedure( a IN NUMBER,
b IN NUMBER,
c OUT NUMBER);
END example;
/
This script can be executed correctly. So there is no error
in this procedure. But the PLDOC can not parse it and an
error occured. Note: if you delete or put into comment the
whole trial_dll procedure then the PLDOC can parse the
script correctly.
Here is the error message:
Logged In: YES
user_id=86901
Can you please provide a file with example.
Logged In: NO
You should grant the CREATE LIBRARY as:
GRANT CREATE LIBRARY TO <schema>;
You should create a dummy dll file like this:
C:\oracle\blabla\blabla.dll
You should create LIBRARY:
CREATE OR REPLACE LIBRARY blabla_dll
IS 'C:\oracle\blabla\blabla.dll'
After that you can execute the package.sql script like this:
CREATE OR REPLACE PACKAGE example
/**
This is an example package for LIBRARY bug.<br>
*/
IS
/**
This document has not been parsed.<br>
Error at LIBRARY row. <br>
@params a - input1
@params b - input2
@params c - input3
*/
PROCEDURE trial_dll(
in1 IN NUMBER) AS LANGUAGE C
LIBRARY blabla_dll
NAME "something"
WITH CONTEXT
PARAMETERS (
context,
in1);
/**
This document has been parsed normally.
@params a - input1
@params b - input2
@params c - input3
*/
PROCEDURE any_procedure( a IN NUMBER,
b IN NUMBER,
c OUT NUMBER);
END example;
/
This script can be executed correctly. So there is no error
in this procedure. But the PLDOC can not parse it and an
error occured. Note: if you delete or put into comment the
whole trial_dll procedure then the PLDOC can parse the
script correctly.
Here is the error message:
D:\ITSFR\PLDOC\pldoc>call pldoc.bat -doctitle 'Sample
Application' -overview sam
ples/overview1.html -d intf_wobj
interface/package_example_spec.sql
PLDoc version: 0.8.3
Parsing file interface/package_example_spec.sql ...
Error parsing line 16, column 48
Last consumed token: "LIBRARY"
net.sourceforge.pldoc.parser.ParseException:
Encountered "blabla_dll" at line 16
, column 48.
Was expecting:
<STRING_LITERAL> ...
at
net.sourceforge.pldoc.parser.PLSQLParser.generateParseExcept
ion(PLSQL
Parser.java:12003)
at
net.sourceforge.pldoc.parser.PLSQLParser.jj_consume_token
(PLSQLParser
.java:11862)
at
net.sourceforge.pldoc.parser.PLSQLParser.callSpecTail
(PLSQLParser.jav
a:5648)
at
net.sourceforge.pldoc.parser.PLSQLParser.programUnit
(PLSQLParser.java
:1649)
at
net.sourceforge.pldoc.parser.PLSQLParser.declarativeSection
(PLSQLPars
er.java:1477)
at
net.sourceforge.pldoc.parser.PLSQLParser.packageSpec
(PLSQLParser.java
:546)
at net.sourceforge.pldoc.parser.PLSQLParser.input
(PLSQLParser.java:331)
at net.sourceforge.pldoc.PLDoc.processPackage
(PLDoc.java:282)
at net.sourceforge.pldoc.PLDoc.run(PLDoc.java:139)
at net.sourceforge.pldoc.PLDoc.main(PLDoc.java:86)
File interface/package_example_spec.sql skipped.
Generating HTML files ...
Generating allschemas.html ...
Generating summary.html ...
Generating allpackages.html ...
Generating index.html ...
Generating <unit>.html ...
Done (0.891 seconds).
Press any key to continue . . .
Test Case pldoc-1501660.sql
Fixed