Forum main
page
Most
active member
Login page
Register
Log out
Search page
View our event calendar
Add general event such as an upcoming
software release or conference
View all birthdays
Public image gallery
Upload your images in your profile
Profile editing page
Subscription list page
Address book page
Member list page
View the
most active member
User groups listing
Private message page
|
|
Users viewing this topic: none
|
|
Login | |
|
Problem Oracle Utilities Adapter Receive Port Procedure - 21 March 2008
|
|
|
robert38
Posts: 3
Score: 0 Joined: 21 March 2008 Status: offline
|
Type of SQL = Procedure Provider Microsoft .NET Provider for Oracle Receive (Port). When I want to generate a XSD schema for a stored procedure something goes wrong. No Records were returned. An Adapter Schema cannot be generated. Parameter Name : Records Actual value was 0. I've tried the following functions. CREATE OR REPLACE PACKAGE BODY AQJ$BERICHTEN IS PROCEDURE verstuur ( p_topic IN VARCHAR2 , p_bericht IN CLOB , p_envelop IN mis_own.to_envelop , p_prioriteit IN BINARY_INTEGER DEFAULT 1 , p_bericht_id OUT RAW ) -- -- RWK, 25-02-2008 -- Deze procedure zal gebruikt worden om standaard JMS-berichten te -- versturen via een advanced queue. Het bericht wordt in een XML- -- structuur gepakt en uiteindelijk als JMS tekstbericht (datatype -- SYS.aq$_jms_text_message, subtype van SYS.aq$_jms_message) op -- de queue met de naam p_topic (naam afstemmen met Architectuur) -- gezet. -- IS t_verzendopties dbms_aq.enqueue_options_t; t_berichteigenschappen dbms_aq.message_properties_t; t_jms_bericht SYS.aq$_jms_message := SYS.aq$_jms_message.construct (dbms_aq.jms_text_message); BEGIN t_berichteigenschappen.priority := p_prioriteit; -- -- Versleutel de parameters tot een XML-bericht, althans, een bericht -- dat gevalideerd is als zijnde XML, maar het wordt uiteindelijk als -- VARCHAR2 richting de set_text methode gestuurd. Deze versleutelt het -- bericht naar een formaat dat past in het aq$_jms_message type. Als -- het bericht op of onder de 4000 karakters zit, komt de inhoud in het -- veld text_vc terecht. Boven de 4000 karakters wordt de inhoud in het -- veld text_lob geplaatst. -- t_jms_bericht.set_text ( mis_own.mis$berichten.xml_bericht ( p_berichtinhoud => p_bericht , p_envelop => p_envelop ) ); /* ( mis$berichten.xml_bericht ( p_berichtinhoud => '<ZoMaarEenWaarde>R</ZoMaarEenWaarde>' , p_envelop => to_envelop ( 'Uithuizing' , systimestamp , 1 , 0 , tt_attributen ( to_attribuut ('EAN-code','8712345678901') ) ) ) ); */ -- -- Zet het bericht op de queue genaamd "p_topic". De naamgeving van -- zo'n topic is afgestemd met de Architectuur-afdeling. -- dbms_aq.enqueue ( queue_name => p_topic , enqueue_options => t_verzendopties , message_properties => t_berichteigenschappen , payload => t_jms_bericht , msgid => p_bericht_id ); END verstuur ; PROCEDURE ontvang ( p_topic IN VARCHAR2 , p_bericht_id OUT RAW , p_bericht OUT CLOB ) -- -- RWK, 25-02-2008 -- Deze procedure is waarschijnlijk niet nodig in productie, omdat -- het lezen van berichten uit de queue door een externe partij zal -- gaan gebeuren en waarschijnlijk niet vanuit een database met -- PL/SQL procedures. De procedure is dan ook gemaakt voor -- testdoeleinden. -- IS t_ontvangstopties dbms_aq.dequeue_options_t; t_berichteigenschappen dbms_aq.message_properties_t; t_jms_bericht sys.aq$_jms_message; BEGIN t_ontvangstopties.wait := dbms_aq.no_wait ; dbms_aq.dequeue ( queue_name => p_topic , dequeue_options => t_ontvangstopties , message_properties => t_berichteigenschappen , payload => t_jms_bericht , msgid => p_bericht_id ); t_jms_bericht.get_text(p_bericht) ; END ontvang ; FUNCTION clob_refcursor_van_queue ( p_topic IN VARCHAR2 ) RETURN SYS_REFCURSOR -- -- RWK, 20-03-2008 -- IS t_ontvangstopties dbms_aq.dequeue_options_t; t_berichteigenschappen dbms_aq.message_properties_t; t_jms_bericht sys.aq$_jms_message; t_bericht_id RAW(616617); t_bericht CLOB; t_refcursor SYS_REFCURSOR; BEGIN t_ontvangstopties.wait := dbms_aq.no_wait ; dbms_aq.dequeue ( queue_name => p_topic , dequeue_options => t_ontvangstopties , message_properties => t_berichteigenschappen , payload => t_jms_bericht , msgid => t_bericht_id ); t_jms_bericht.get_text(t_bericht) ; OPEN t_refcursor FOR SELECT t_bericht FROM DUAL; RETURN t_refcursor; END clob_refcursor_van_queue ; FUNCTION xml_refcursor_van_queue ( p_topic IN VARCHAR2 ) RETURN SYS_REFCURSOR -- -- RWK, 20-03-2008 -- IS t_ontvangstopties dbms_aq.dequeue_options_t; t_berichteigenschappen dbms_aq.message_properties_t; t_jms_bericht sys.aq$_jms_message; t_bericht_id RAW(820821); t_bericht CLOB; t_refcursor SYS_REFCURSOR; BEGIN t_ontvangstopties.wait := dbms_aq.no_wait ; dbms_aq.dequeue ( queue_name => p_topic , dequeue_options => t_ontvangstopties , message_properties => t_berichteigenschappen , payload => t_jms_bericht , msgid => t_bericht_id ); t_jms_bericht.get_text(t_bericht) ; OPEN t_refcursor FOR SELECT XMLTYPE(t_bericht) FROM DUAL; RETURN t_refcursor; END xml_refcursor_van_queue ; FUNCTION varchar2_refcursor_van_queue ( p_topic IN VARCHAR2 ) RETURN SYS_REFCURSOR -- -- RWK, 20-03-2008 -- IS t_ontvangstopties dbms_aq.dequeue_options_t; t_berichteigenschappen dbms_aq.message_properties_t; t_jms_bericht sys.aq$_jms_message; t_bericht_id RAW(10321033); t_bericht VARCHAR2(4000); t_refcursor SYS_REFCURSOR; BEGIN t_ontvangstopties.wait := dbms_aq.no_wait ; dbms_aq.dequeue ( queue_name => p_topic , dequeue_options => t_ontvangstopties , message_properties => t_berichteigenschappen , payload => t_jms_bericht , msgid => t_bericht_id ); t_jms_bericht.get_text(t_bericht) ; OPEN t_refcursor FOR SELECT t_bericht FROM DUAL; RETURN t_refcursor; END varchar2_refcursor_van_queue ; END AQJ$BERICHTEN; /
|
|
|
|
RE: Problem Oracle Utilities Adapter Receive Port Proce... - 1 April 2008
|
|
|
Pieter
Posts: 615
Score: 2 Joined: 8 March 2004 Status: offline
|
You need to utilize a REF CURSOR in order to return records.
_____________________________
Need a BizTalk Adapter? Visit http://www.topxml.com/biztalkutilities and check out the latest BizTalk Adapters.
|
|
|
|
New Messages |
No New Messages |
Hot Topic w/ New Messages |
Hot Topic w/o New Messages |
Locked w/ New Messages |
Locked w/o New Messages |
|
Post New Thread
Reply to Message
Post New Poll
Submit Vote
Delete My Own Post
Delete My Own Thread
Rate Posts
|
|
|