Knut Stolze wrote:
Gregor Kovač wrote:
I've got the put_line sources and I want to compile it for a 64-bit DB2
v8.2.
I did compile it with bldrtn, but when I copy it to FUNCTION directory,
The bldrtn script already copies the necessary files to sqllib/function/
directory (at least on Unix and Linux systems).
bind it to DB2, use it in a procedure I get:
SQL0444N Routine "EMGSYS.PUT_LINE" (specific name "SQL060406131448304")
is
implemented with code in library or path "\put_line", function
"put_line2"
which cannot be accessed. Reason code: "4". SQLSTATE=42724
What does your CREATE FUNCTION statement look like?
The put_line.dll is in sqllib/function directory.
And the create function is like this:
CREATE FUNCTION PUT_LINE(SMALLINT, VARCHAR(4000))
RETURNS VARCHAR(1)
NOT FENCED
RETURNS NULL ON NULL INPUT
NO SQL
DBINFO
EXTERNAL ACTION
LANGUAGE C
PARAMETER STYLE DB2SQL
EXTERNAL NAME 'put_line!put_line';
CREATE FUNCTION PUT_LINE(INTEGER, VARCHAR(4000))
RETURNS VARCHAR(1)
SOURCE PUT_LINE(SMALLINT,VARCHAR(4000));
CREATE FUNCTION PUT_LINE(SMALLINT)
RETURNS VARCHAR(1)
NOT FENCED
RETURNS NULL ON NULL INPUT
NO SQL
DBINFO
EXTERNAL ACTION
LANGUAGE C
PARAMETER STYLE DB2SQL
EXTERNAL NAME 'put_line!put_line1';
CREATE FUNCTION PUT_LINE(INTEGER)
RETURNS VARCHAR(1)
SOURCE PUT_LINE(SMALLINT);
CREATE FUNCTION PUT_LINE(VARCHAR(4000))
RETURNS VARCHAR(1)
NOT FENCED
RETURNS NULL ON NULL INPUT
NO SQL
DBINFO
EXTERNAL ACTION
LANGUAGE C
PARAMETER STYLE DB2SQL
EXTERNAL NAME 'put_line!put_line2';
CREATE FUNCTION PUT_LINE(VARCHAR(4000),VARCHAR(1),VARCHAR(4000))
RETURNS VARCHAR(1)
NOT FENCED
RETURNS NULL ON NULL INPUT
NO SQL
DBINFO
EXTERNAL ACTION
LANGUAGE C
PARAMETER STYLE DB2SQL
SCRATCHPAD
FINAL CALL
EXTERNAL NAME 'put_line!put_line3';
If I recreate the functions with FENCED option then the 32-bit version of
the DLL works, but this is not exactly what I want, since I can bring the
DB2 engine to crash with this version.
Best regards,
Kovi
--
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
| Gregor Kovac |
Gr**********@mikropis.si |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| In A World Without Fences Who Needs Gates? |
| Experience Linux. |
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~