Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Error in calling external procedure
Hi,
I am trying to call a C function from PL/SQL and I encounter "ORA-06525 Length Mismatch for CHAR or RAW data". Following is the information:
C function in util.dll:
INT Scramble(BYTE *input,
BYTE *key, INT which, BYTE *output);
I create the library and PL/SQL body using the following script:
CREATE OR REPLACE LIBRARY util
AS
'E:\Develop\test\util.dll';
CREATE OR REPLACE FUNCTION Scramble
(plaintext IN RAW, key IN RAW, which IN PLS_INTEGER, ciphertext IN OUT RAW)
LIBRARY util NAME "Scramble" LANGUAGE C;
When I test the above function Scramble using the following PL/SQL, I receive the error at the beginning of this message.
DECLARE
rvalue PLS_INTEGER;
plaintext RAW(8); key RAW(16); which PLS_INTEGER; ciphertext RAW(8); BEGIN plaintext := '12345678'; key := '1234567812345678'; which := 0;
Cheers,
LTANG7
Received on Thu Feb 19 2004 - 01:03:46 CST
![]() |
![]() |