SQL*Forms & DBMS_PIPE

From: Terje Vernly <terjeve_at_ifi.uio.no>
Date: Wed, 28 Jul 1993 11:55:50 GMT
Message-ID: <1993Jul28.115550.5247_at_ifi.uio.no>


Hi!

I'm successfully using the DBMS_PIPE-package (which is stored in the server) from SQL*Forms triggers. Everyting works like a dream as long as I stick to sending just *one* datatype, if I try to pack a CHAR following a NUMBER SQL*Forms screams while executing the trigger.

This works:

DBMS_PIPE.PACK_MESSAGE('a NUMBER');
DBMS_PIPE.PACK_MESSAGE('another NUMBER');

But this doesn't:

DBMS_PIPE.PACK_MESSAGE('a NUMBER');
DBMS_PIPE.PACK_MESSAGE('a CHAR');

SQL*Forms reports that the trigger raised an unhandled exception: ORA-01475. This error-message reads: "must reparse cursor to change bind variable datatype', which I really don't find appropriate. I am, however, not an SQL expert (rather a novice user), so it might be that this message is meaningfull to others.

Does anyone have a solution to this?

Also, when using DBMS_PIPE.SEND_MESSAGE() SQL*Forms insists that I have to supply the two optional arguments to the function. The same applies to the optional argument to DBMS_PIPE.RECEIVE_MESSAGE(). This isn't really a problem, but I do find it a bit strange.

My Oracle database is version 7.0.11, and this is what SQL*Forms says when it starts up:

 SQL*Forms Design: Release 3.0.16.12.3 - Production  Copyright (c) Oracle Corporation 1979, 1992. All rights reserved.  Using Oracle Toolkit Version 01.00.20.02.01 (Production)  Using PL/SQL Version 01.00.35.02.01 (Production)

--

  +----------------------------------------------------------------+

| Terje Vernly "The dead know only one thing : |
| InterNet: terjeve_at_ifi.uio.no It is better to be alive." |
+----------------------------------------------------------------+
Received on Wed Jul 28 1993 - 13:55:50 CEST

Original text of this message