Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> problem with varchar2 longer than 80 chars
Hallo,
I have a problem with passing a varchar2 variable to my procedure in SQL+.
I'm testing it with this procedure:
SET SERVEROUTPUT ON; call dbms_java.set_output (2000);
DECLARE p_id number := 1;
p_video ORDSys.ORDVideo;
p_streamvideo Tester.StreamVideo;
p_listenerClasses varchar2(4000);
BEGIN p_video := ORDSys.ORDVideo.init();
p_listenerClasses := 'a_81_character_string';
dbms_output.put_line ('Video wird in Tabelle eingefügt ...');
INSERT INTO Tester.StreamVideos
VALUES (p_id, Tester.StreamVideo.init(p_video, 12000, p_listenerClasses));
END; /
COMMIT; If p_listenerClasses is greater than 80 chars; i get this Error:
Video wird in Tabelle eingefügt ...
DECLARE *
FEHLER in Zeile 1:
ORA-00932: nicht übereinstimmende Datentypen
ORA-06512: in Zeile 11
If the string is shorter than 80 chars, it works fine. Does anybody know, what to do?
Thanks, Christian
PS: Here the necessary definitions:
CREATE OR REPLACE TYPE TESTER.STREAMVIDEO AS OBJECT EXTERNAL NAME 'de.tuilmenau.gulich.StreamVideo'
LANGUAGE JAVA USING SQLDATA ( video ORDSYS.ORDVideo external name 'm_video',
min_bitrate number external name 'm_minBitRate',
listenerClasses varchar2(4000) external name 'm_OutOfDataRateListenerClasses',
static function init (video ORDSYS.ORDVideo, minBitrate number, listenerClass varchar2)
return STREAMVIDEO
external name 'init(oracle.ord.im.OrdVideo, long, java.lang.String)
return de.tuilmenau.gulich.StreamVideo',
member procedure startStream (ip_address varchar2)
external name 'startStream(java.lang.String)'
);
CREATE TABLE "TESTER"."STREAMVIDEOS" (
"ID" NUMBER(10) NOT NULL,
"VIDEO" "TESTER"."STREAMVIDEO");
X'Post: comp.databases.oracle.misc; comp.databases.oracle.Server
F'Up: comp.databases.oracle.misc Received on Sun Oct 17 2004 - 09:34:32 CDT
![]() |
![]() |