Plsql clob!!!!!

hi!
when a document attribute has the value of a plsql clob, the email attachment contains no content except for the name of the document attribute.
The attachment is proper in the worklist.
The notification mailer when run in debug mode also is not showing any error.
The wf_mail package doen't show any trace of handling clobs as the wf_notification package does.
when i tried to look in to the Oracle workflow embedded in the applications, the wf_mail package contains heavy stuff handling the clobs.
both the standalone and the embedded are of the same version- 2.6
but then the embedded version has procedures such as GETLOBMESSAGE, GETLOBDOCCONTENT etc. in the wf_mail package where as the stand alone doesn't have.
plz. help me out of this.

Support for emailing CLOBs did not come until Workflow 2.6.2 in standalone workflow.
hi!
when a document attribute has the value of a plsql clob, the email attachment contains no content except for the name of the document attribute.
The attachment is proper in the worklist.
The notification mailer when run in debug mode also is not showing any error.
The wf_mail package doen't show any trace of handling clobs as the wf_notification package does.
when i tried to look in to the Oracle workflow embedded in the applications, the wf_mail package contains heavy stuff handling the clobs.
both the standalone and the embedded are of the same version- 2.6
but then the embedded version has procedures such as GETLOBMESSAGE, GETLOBDOCCONTENT etc. in the wf_mail package where as the stand alone doesn't have.
plz. help me out of this.

Similar Messages

  • Errors while using plsql clob document in notification email

    bq. hello
    I am having a problem sending a plsql clob document in a notification email.Basically the procedure retrives some rows of data from the database and formats it as HTML before converting to clob. The email is generated fine when only a couple of rows are generated. however when the rows increase the workflow errors. we are using oracle ERP
    ---------------------------------Error Message-----
    An Error occurred in the following Event Subscription: Event Subscription
    Event Error Name: WFE_DISPATCH_GEN_ERR
    Event Error Message: 3835: Error '-20002 - ORA-20002: 2018: Unable to generate the notification XML. Caused by: 2020: Error when getting notification content. Caused by: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    Wf_Notification.NTF_Table(8, H)
    BATCH_INFO.Batch Information(209112, text/html)
    Wf_Notification.GetAttrClob(263883, BATCH_INFO, text/html)
    Wf_Notification.oldGetAttrClob(263883, BATCH_INFO, text/html)
    WF_NOTIFICATION.GetFullBody(nid => 263883, disptype => text/html)
    WF_MAIL.GetLOBMessage3(nid => 263883, ' encountered during execution of Generate function 'WF_XML.Generate' for event 'oracle.apps.wf.notification.send'.
    Event Error Stack:
    WF_MAIL.GetLOBMessage3(263883, WFMAIL, 2020: Error when getting notification content. Caused by: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    Wf_Notification.NTF_Table(8, H)
    BATCH_INFO.Batch Information(209112, text/html)
    Wf_Notification.GetAttrClob(263883, BATCH_INFO, text/html)
    Wf_Notification.oldGetAttrClob(263883, BATCH_INFO, text/html)
    WF_NOTIFICATION.GetFullBody(nid => 263883, disptype => text/html)
    WF_MAIL.GetLOBMessage3(nid => 263883, r_ntf_pref => MAILHTML), Step -> Getting text/html body)
    WF_XML.GenerateDoc(oracle.apps.wf.notification.send, 263883)
    WF_XML.Generate(oracle.apps.wf.notification.send, 263883)
    WF_XML.Generate(oracle.apps.wf.notification.send, 263883)
    Wf_Event.setMessage(oracle.apps.wf.notification.send, 263883, WF_XML.Generate)
    Wf_Event.dispatch_internal()
    The Procedure is
    bq. /********************************************************************************* \\ Procedure: BATCH_INFO \\ Purpose: Program displays batch level information. \\ *********************************************************************************/ \\ PROCEDURE batch_info ( \\ document_id IN VARCHAR2, \\ display_type IN VARCHAR2, \\ document IN OUT NOCOPY CLOB, \\ document_type IN OUT NOCOPY VARCHAR2 \\ ) \\ IS \\ table_width VARCHAR2 (8) := '100%'; \\ i PLS_INTEGER; \\ j PLS_INTEGER; \\ l_cells wf_notification.tdtype; \\ l_result VARCHAR2 (32767); \\ l_je_batch_name VARCHAR2 (100); \\ l_period_name VARCHAR2 (15); \\ l_control_total NUMBER; \\ l_running_total_dr NUMBER; \\ l_running_total_cr NUMBER; \\ l_document long; \\ cdoc clob; \\ amount NUMBER; \\ charbuff VARCHAR2(32767); \\ charbuff_size NUMBER; \\ CURSOR c_get_je (batch_id IN NUMBER) \\ IS \\ SELECT (SELECT description \\ FROM gl_lookups \\ WHERE lookup_type = 'BATCH_STATUS' \\ AND lookup_code = batch_status) batch_status, \\ je_source, \\ (SELECT user_je_category_name \\ FROM gl_je_categories \\ WHERE je_category_name = je_category) je_category, \\ period_name, batch_name, header_name, \\ header_running_total_dr_num debit, \\ header_running_total_cr_num credit \\ FROM apps.gl_je_batches_headers_v \\ WHERE je_batch_id = batch_id; \\ BEGIN \\ IF display_type = wf_notification.doc_text \\ THEN \\ document := NULL; \\ ELSE \\ /* ===========Second table Start=============*/ \\ j := 0; \\ i := 0; \\ j := 1; \\ /* Header*/ \\ l_cells (j) := 'S:' || 'Batch Status'; \\ j := j + 1; \\ l_cells (j) := 'S:' || 'Journal Source'; \\ j := j + 1; \\ l_cells (j) := 'S:' || 'Journal Category'; \\ j := j + 1; \\ l_cells (j) := 'S:' || 'Period'; \\ j := j + 1; \\ l_cells (j) := 'S:' || 'Batch Name'; \\ j := j + 1; \\ l_cells (j) := 'S:' || 'Journal Name'; \\ j := j + 1; \\ l_cells (j) := 'S:' || 'Journal Debit'; \\ j := j + 1; \\ l_cells (j) := 'S:' || 'Journal Credit'; \\ j := j + 1; \\ i := 0; \\ /* Body*/ \\ SELECT NAME, default_period_name, control_total, \\ running_total_dr, running_total_cr \\ INTO l_je_batch_name, l_period_name, l_control_total, \\ l_running_total_dr, l_running_total_cr \\ FROM gl.gl_je_batches \\ WHERE je_batch_id = TO_NUMBER (document_id); \\ FOR histr IN c_get_je (TO_NUMBER (document_id)) \\ LOOP \\ l_cells (j) := 'S:' || histr.batch_status; \\ j := j + 1; \\ l_cells (j) := 'S:' || histr.je_source; \\ j := j + 1; \\ l_cells (j) := 'S:' || histr.je_category; \\ j := j + 1; \\ l_cells (j) := 'S:' || histr.period_name; \\ j := j + 1; \\ l_cells (j) := 'S:' || histr.batch_name; \\ j := j + 1; \\ l_cells (j) := 'S:' || histr.header_name; \\ j := j + 1; \\ l_cells (j) := \\ 'S:' \\ || NVL (TO_CHAR (histr.debit, \\ 'L999G999G999G999G999G999G999D99'), \\ '&' || 'nbsp;' \\ ); \\ j := j + 1; \\ l_cells (j) := \\ 'S:' \\ || NVL (TO_CHAR (histr.credit, \\ 'L999G999G999G999G999G999G999D99' \\ ), \\ '&' || 'nbsp;' \\ ); \\ j := j + 1; \\ i := i + 1; \\ END LOOP; \\ table_width := '100%'; \\ wf_notification.ntf_table (l_cells, 8, 'HL', l_result); \\ /* Write data to clob */ \\ -- create temp clob \\ dbms_lob.createTemporary(cdoc,false,dbms_lob.call); \\ charbuff_size:=length(l_result); \\ write html data to temp clob \\ dbms_lob.writeappend(cdoc,charbuff_size,l_result); \\ write temp clob to document \\ amount:=dbms_lob.getlength(cdoc); \\ dbms_lob.copy(document,cdoc,amount,1,1); \\ END IF; \\ document_type := 'text/html'; \\ EXCEPTION \\ WHEN OTHERS \\ THEN \\ wf_core.CONTEXT ('BATCH_INFO', 'Batch Information', document_id,display_type); \\ RAISE; \\ END batch_info;
    Can somebody please guide me
    thank you

    The stack trace below the "ORA-06502: PL/SQL: numeric or value error: character string buffer too small" error suggests that this is being generated by the Wf_Notification.NTF_Table call. Given the way you have described the problem, I would assume that the HTML generated by that call for the data in l_cells is exceeding the length of your l_result variable (32767).
    Have you checked the length of the data generated by this call for a single record and then divided 32767 by that number to work out the maximum number of rows you can support with this call?
    If it is simply that you have too much data for WF_Notification.NTF_Table to produce the table within the 32767 limit, you try generating the HTML in smaller chunks and adding them to the CLOB bit by bit. For example, if 10 records work, then generate the HTML for 10 records, chop off the </table> from the result and add it to the clob. Then do the next 10 records (without the header this time) and chop off the <table> and </table> tags and add that to the clob. When you are done, add the closing </table> tag to the clob and return it.
    I haven't done this with returning a clob, but I have done this with shorter strings to generate a HTML table with the standard look and feel but with headers in different places than could be done by default.
    theFurryOne

  • Plsql clob document attachment goes as blank file !!!

    plsql clob document attachment
    when I generate a plsql document, the email attachment goes fine.
    But if it is made a pl/sql clob document , the attachment goes as a blank file with just the name of the document attribute inside.
    What other changes should i make for plsqlclob?
    Is any notification mailer configuration issue involved?
    ** knock knock **!! please help me out of this...

    2 things to do:
    1) Confirm everything looks correct when viewing the notification using the Worklist.
    2) Set the Mailer to debug mode and see if you see any errors in the log file.
    plsql clob document attachment
    when I generate a plsql document, the email attachment goes fine.
    But if it is made a pl/sql clob document , the attachment goes as a blank file with just the name of the document attribute inside.
    What other changes should i make for plsqlclob?
    Is any notification mailer configuration issue involved?
    ** knock knock **!! please help me out of this...

  • PLSQL Clob Document in Oracle Apps Workflow throwing "Numeric or value Error " in the Notification Body

    I’m Using PLSQL Clob Document for printing data in HTML table format in the Notification Body,even PL/SQL Clob variable is capable of storing data up to 4gb ,when I’m trying to print the data greater than 32767bytes (32kb) it is throwing error “Numeric or value Error” .Please help me out to print data >32kb in the notification using document type attribute in oracle workflow.Appreciated for the Solution.
    Thanks,
    Kishore.

    Please see if these docs help.
    How to Write CLOB Data > 32K Out to a File? (Doc ID 358641.1)
    How To Write Out Multiple Clob Fields > 32k To A File in 4K chunks? (Doc ID 358781.1)
    Thanks,
    Hussein

  • How to use PLSQL CLOB IN WORKFLOW

    Dear all,
    I have follwoing query with workflow.
    I have developed FYI WF.
    1) In my WF mail, I am getting click here to respond.
    I want to hide this.
    Pl. let me know how to do that?
    2) I have developed a workflow with Document type.
    I am calling a PL/SQL CLOB procedure to pass my values( 4 columns from a table)
    I need to pass approximately 70 to 100 rows to clob.
    when I pass 14 rows, I am not getting any error.
    where as if I pass morethen 15 rows, I am getting follwoing error
    "ORA-06502: PL/SQL: numeric or value error ORA-06512: at "APPS.WF_NOTIFICATION", line 5046 ORA-06512: at line 5 "
    Pl. let me know, do I need to setup any thing in workflow from my side

    Hi,
    I'm not sure whether it is because of the length of variable.
    However, did you use concatenation (||) to store the value in the varchar variable before putting it into the CLOB variable?
    If so, perhaps you forget to reset the varchar variable inside the loop, thus making it longer and longer each loop.
    You should empty the varchar variable by
    loop
      l_string := '';
      -- your code, perhaps concat the variable
      l_string := l_string || 'blah blah';
    end loop;For the FYI Notification, perhaps you should check the Notfication in the Workflow Builder, whether it has an Attribute with Respond type on the Notification.
    If you didn't put anything (only the message body) in the Notification, the message will suppose to be a FYI one.
    Regards,
    Buntoro

  • Abstract lobs increases with every call and not released

    Running on 11.2.0.2
    We're generating some xml web feeds for our website from relational data using SQL/XML operators. I fetch the xml into a PLSQL CLOB variable using XMLSERIALIZE, which i then return to my java application.
    Our site has seen a huge increase in activity and requests to our feeds, and our DBA is reporting we're running out of temp tablespace. We've increased temp tablespace, but he also mentioned that memory consumption is steadily increasing, eventually, DB instance needs to be bounced, otherwise it crashes.
    I've discovered that my block of code that builds and returns the xml is causing abstract lobs to increase, but never recedes.
    Re-reading the following from 11gr2 Large Objects guide:
    Temporary LOBs created in a program block as a result of a SELECT or an assignment are freed automatically at the end of the PL/SQL block or function or procedure. You must also free the temporary LOBs that were created with DBMS_LOB.CREATETEMPORARY to reclaim system resources and temporary tablespace. Do this by calling DBMS_LOB.FREETEMPORARY on the CLOB variable.
    Note:
    If the SQL statement returns a LOB or a LOB is an OUT parameter for a PL/SQL function or procedure, you must test if it is a temporary LOB, and if it is, then free it after you are done with it.
    Also learned the following (as of 10gr2)
    A new column named 'ABSTRACT_LOBS' has been added to the V$TEMPORARY_LOBS table. This column displays the number of abstract LOBs accumulated in the current session. Abstract LOBs are temporary lobs returned from queries involving XMLType columns.
    so my question is, is my java application responsible for freeing up the LOB? It seems freeing the lob in my PL/SQL function has no effect, since it returns the LOB to JAVA.

    Hi Odie,
    Calling it with an CallableStatement... packaged function returns a clob.
    My DBA is having trouble tracking down the temp lob usage in production it seems. And I question whether my little test case i did in our development environment is actually correct. I tested by calling my packaged function in a sql statement then selecting from v$temporary_lobs. that is where i was seeing abstract_lobs increasing.
    Not 100% sure this is what is happening though when calling from an CallableStatement in Java.
    That said, I have added some java code to check whether the CLOB returned from my function is temporary, and if so, I free it using the oracle.sql.CLOB implementation. The java code is logging that it is indeed a temporary lob and does free it. I can't confirm though whether this is impacting the temp lob count in the DB, since I believe v$temporary_lobs is based on current session.

  • Maximum Size of Dynamic HTML

    Hi,
    I have used the below mentioned code to create a Dynamic HTML Page for plsql clob attribute ie
    PROCEDURE get_html_doc (
    p_transaction_id IN NUMBER,
    x_document IN OUT NOCOPY CLOB
    IS
    l_proc_name VARCHAR2 (150) := 'get_html_doc';
    l_page HTP.htbuf_arr;
    l_lines NUMBER DEFAULT 99999999;
    l_nm OWA.vc_arr;
    l_vl OWA.vc_arr;
    l_clob CLOB;
    BEGIN
    l_nm ( 1) := 'DUMMY_JUST_TO_SET_UP_OWA_UTIL';
    l_vl ( 1) := 'WHATEVER';
    xyz.display_detail
    (p_called_from => 'DOC_ATTR_VALUE',
    p_transaction_id => p_transaction_id
    OWA.init_cgi_env (l_nm.COUNT, l_nm, l_vl);
    OWA.get_page (l_page, l_lines);
    DBMS_LOB.createtemporary (x_document, TRUE, DBMS_LOB.SESSION);
    FOR i IN 1 .. l_lines
    LOOP
    IF (i = 1)
    THEN
    DBMS_LOB.WRITE (x_document,
    LENGTH (l_page (i)),
    1,
    l_page (i)
    ELSE
    DBMS_LOB.writeappend (x_document,
    LENGTH (l_page (i)),
    l_page (i)
    END IF;
    END LOOP;
    END get_html_doc;
    I am getting a ORA-06502: PL/SQL: numeric or value error.
    In view of the following ie
    a) htbuf_arr is table of varchar2(256)
    b) Total size of the page cannot exceed 32 K (Not sure)
    Is any one of the above responsible for the error.
    -> Scenario of LENGTH (l_page (i)) has exceeded 256.
    -> Scenario where the size of the document is greater than 32k.
    Regards

    I have answered your duplicate post on the WorkflowFAQ forum at http://smforum.workflowfaq.com/index.php?topic=1092.0
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://www.workflowfaq.com/blog ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com
    Edited by: WorkflowFAQ.com on Feb 24, 2010 1:10 PM

  • Problem with CLOB in PLSQL Web Service.

    Hi-
    I have Oracle Package that accepts CLOB as IN parameter and another CLOB as an OUT parameter. I went thru the tutorial in how to publish a database
    PLSQL package as a web service with out any problem. I was able to publish and call successfully my PLSQL web service thru a browser and thru a simple C# application. It's been working fine until I receive an XML file which is bigger than 32766:
    java.sql.SQLException: setString can only process strings of less than 32766 chararacters at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)]
    JDeveloper version: JDeveloper 10g (10.1.2.2.0) Build 1929
    Oracle Application Server 10g
    I'm newbie in JDeveloper so any help is greatly appreciated.
    Thanks!

    well Shay,
    i've used JDev's tools to developer and to deploy the web service: the war and ear files are automatically generates you to the end of the process.
    I have included all the files java and the compiled classes, but I do not have files jar.
    But don't works: if i create only one java class with all code inside then it works fine!!
    Daniele

  • Calling PLSQL Procedure with CLOB input parameter from JDBC

    Hi..
    I've got a PLSQL procedure with a CLOB object as input parameter:
    function saveProject (xmldoc CLOB) RETURN varchar IS
    I want to call that procedure from my JDBC Application as...
    String data = "..."
    CallableStatement proc = conn.prepareCall
              ("begin ? := saveProject (?); end;");
    neither
    proc.setCharacterStream(2, new StringReader(data, data.length());
    nor
    proc.setString(2, data);
    will work.
    The Application throws java.sql.Exception: ... PLS-00306 wrong
    number or types of arguments in call 'SAVEPROJECT'
    How can I use set setClob method?
    The Problem is: with Oracles CLOB implementation I can't create
    an Instance, and from the CallableStatement a can't get a
    Locator for a CLOB-Object.
    This CLOB stuff makes me really nuts!
    please somebody help me.. thanks
    Alex

    Hi All,
    You can not make it like that.
    You can not make clob as input parameter.
    Do you want an easy way?
    This is the easy way.
    sample:
    function myFunction(S varchar2(40))
    return integer as
    begin
    insert into TableAAA values(S)
    --TableAAA only contains 1 column of clob type
    end;
    This will work the problem with this is the parameter is in
    varchar2 right? so there will be limited length for it.
    You can do this to call that function:
    nyFunction('My String that will be input into clob field');
    There's another slight difficult way, I understand that you have
    installed Oracle client/server in your system, try to look at
    jdbc folder and try to find demo.zip in that folder, you can
    find several ways of doing thing with jdbc.
    Have a nice day,
    Evan

  • How do you apply the XSL against the clob in plsql ?

    I have a plsql procedure that performs a Select statement and puts it into a Clob.
    I have lifted the statement out and created a DTD and an XSL file. I have run the XML file against the XSL file using the OracleXML tool and it produces the results I want.
    Now I want to apply this stylesheet against the select query in my plsql procedure and store the output in teh database with a view to writing it out to a file.
    I have got Steve Meunch's book but I can't see where to do this.
    I have tried to use DBMSXMLQuery.setXSLT without much success :
    If I do :
    DBMS_XMLQUERY.setXSLT(qryCtx,'xmlfiles\test_output.xsl');
    Where xmlfiles is a virtual directory I created in Oracle that points to my local c:\xmlfiles folder I get the error:
    ORA-20000: ORU-10028: line length overflow, limit of 255 bytes/chars per line
    ORA-06512: at "SYS.DBMS_OUTPUT", line 34
    ORA-06512: at "SYS.DBMS_OUTPUT", line 110
    ORA-06512: at "SYS.DBMS_OUTPUT", line 81
    ORA-06512: at line 78
    when I try to display it.

    What kind of bean is being used for the field you are talking about? Did you try to personalize that bean to meet your requirement? Don't have access to an instance right now, hence cann't check that xml.
    --Shiv                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to convert blob data into clob using plsql

    hi all,
    I have requirement to convert blob column into clob .
    version details
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
    PL/SQL Release 11.1.0.7.0 - Production
    CORE     11.1.0.7.0     Production
    TNS for 32-bit Windows: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - Production
    DECLARE
       v_blob      temp.blob_column%TYPE;------this is blob data type column contains  (CSV file which is  inserted  from screens)
       v_clob      CLOB; --i want to copy blob column data into this clob
       v_warning   NUMBER;
    BEGIN
       SELECT blob_column
         INTO v_blob
         FROM temp
        WHERE pk = 75000676;
       DBMS_LOB.converttoclob (dest_lob          => v_clob,
                               src_blob          => v_blob,
                               amount            => DBMS_LOB.lobmaxsize,
                               dest_offset       => 1,
                               src_offset        => 1,
                               blob_csid         => 1, -- what  is the use of this parameter
                               lang_context      => 1,
                               warning           => v_warning
       DBMS_OUTPUT.put_line (v_warning);
    EXCEPTION
       WHEN OTHERS
       THEN
          DBMS_OUTPUT.put_line (SQLCODE);
          DBMS_OUTPUT.put_line (SQLERRM);
    END;I am not getting what is the use of blob_csid , lang_context parameters after going the trough the documentation .
    Any help in this regard would be highly appreciated .......
    Thanks
    Edited by: prakash on Feb 5, 2012 11:41 PM

    Post the 4 digit Oracle version.
    Did you read the Doc for DBMS_LOB.CONVERTTOCLOB? - http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_lob.htm
    The function can convert data from one character set to another. If the source data uses a different character set than the target you need to provide the character set id of the source data.
    The blob_csid parameter is where you would provide the value for the source character set.
    If the source and target use the same character set then just pass zero. Your code is passing a one.
    >
    General Notes
    You must specify the character set of the source data in the blob_csid parameter. You can pass a zero value for blob_csid. When you do so, the database assumes that the BLOB contains character data in the same character set as the destination CLOB.
    >
    Same for 'lang_context' - your code is using 1; just use 0. It is an IN OUT
    >
    lang_context
    (IN) Language context, such as shift status, for the current conversion.
    (OUT) The language context at the time when the current conversion is done.
    This information is returned so you can use it for subsequent conversions without losing or misinterpreting any source data. For the very first conversion, or if do not care, use the default value of zero.

  • PLSQL XML Parsing and CLOB's

    Question: Is this the proper way to parse an XML document that is contained within a clob?
    procedure publishXmlClob
    (p_xml_doc in clob
    ) is
    v_parser xmlparser.parser;
    v_doc xmldom.DOMDocument;
    v_node_list xmldom.DOMNodeList;
    v_list_len number := 0;
    v_node xmldom.DOMNode;
    v_xml_clob clob;
    begin
    dbms_lob.createTemporary(v_xml_clob, true, dbms_lob.session);
    dbms_lob.copy(v_xml_clob, p_xml_doc, dbms_lob.getLength(p_xml_doc));
    v_parser := xmlparser.newParser;
    xmlparser.setValidationMode(v_parser, FALSE);
    xmlparser.parseClob(v_parser, v_xml_doc);
    v_doc := xmlparser.getDocument(v_parser);
    end publishXmlClob;
    Thanks for any help.
    r

    Question: Is this the proper way to parse an XML document that is contained within a clob?
    procedure publishXmlClob
    (p_xml_doc in clob
    ) is
    v_parser xmlparser.parser;
    v_doc xmldom.DOMDocument;
    v_node_list xmldom.DOMNodeList;
    v_list_len number := 0;
    v_node xmldom.DOMNode;
    v_xml_clob clob;
    begin
    dbms_lob.createTemporary(v_xml_clob, true, dbms_lob.session);
    dbms_lob.copy(v_xml_clob, p_xml_doc, dbms_lob.getLength(p_xml_doc));
    v_parser := xmlparser.newParser;
    xmlparser.setValidationMode(v_parser, FALSE);
    xmlparser.parseClob(v_parser, v_xml_doc);
    v_doc := xmlparser.getDocument(v_parser);
    end publishXmlClob;
    Thanks for any help.
    r

  • Converting from JAVA HASHMAP to PLSQL object or CLOB

    Hello All,
    My oracle version in 10.2.0.4 on a solaris V880 machine.
    Our Application Java SDK is 1.4.
    I am trying to pass in a series of XML (considerably huge for XML type column) from java application plsql which stores them into an oracle table with column as external BLOB. Since the contents are so heavy for each objects , using XMLTYPE column is not feasible.
    The xml files comes as either java hash_map or string which i have to pass as parameter to an Oracle stored procedure which stores as external BLOB in OS through a table.
    My first doubt is this the correct approach.
    My second doubt here is how to interpret java hash_map object within PLSQL when it is passed to it.
    Apologies if the question is silly since i am a new comer to java.
    Thanks in advance ,
    Vijay G

    vijay S P G wrote:
    If i have plsql collection with a varchar2 and a blob as record type then can i directly pass the java hash map to the procedure having parameter datatype as the above said record type ?Of course not. Obviously the first reason for that is because the "blob" needs to be a file path and not a blob.
    Second reason is no databases that I know of take a hash data type. Some take arrays. But I doubt that is worth the trouble.
    You have a collection of name value (path) pairs. Iterate over the collection and for each name do an insert of the name and path.

  • Select with CLOB datatype

    Hi all....
    I must create a view to retrieve the data from a table "texto_email" ... and that table has a field named Texto - datatype CLOB. This field has some html definitions and formating tags.
    but when i create the view, i get a error in plsql saying "view created with compilation errors"
    when i coment " -- " the line responsable for the CLOB field, its created sucesful.
    what I´m doing wrong? there´s a something diferent to do in this case?
    that is my view... if someone can help...
    CREATE OR REPLACE FORCE VIEW vw_texto_email
    AS
    SELECT DISTINCT
    te.id_texto_email
    ,te.id_texto_email_tipo as id_tet
    ,te.data_cadastro
    ,te.data_inicio
    ,te.descricao
    ,te.assunto
    ,te.texto AS texto ---- that is the CLOB field -
    ,tet.descricao as tipo_email
    FROM
    texto_email te
    ,texto_email_tipo tet
    WHERE
    te.id_texto_email_tipo = tet.id_texto_email_tipo
    tnks....

    To work with LOBs you have to know something about the concept of a LOB locator( a short tour in the documentation would be appreciable).
    A LOB locator is a pointer to large object data in a database.
    Database LOB columns store LOB locators, and those locators point to the real data stored in a LOB data.
    To work with LOB data, you have to:
    1) Retrieve LOB locator
    2) Use a built-in package named DBMS_LOB to modify LOB
    2.1 Open lob
    2.2 ...
    2.3 read/write LOB
    2.4 close LOB
    Why do you want to retrieve a lob locator in a view?
    Stated that you could retreive its state in :
    1 null
    2 empty
    3 populated with a valid pointer to data

  • CLOB datatype usage

    Hi All,
    I have a requirement where the value of a item can exceed 4000 characters and is using a "html editor standard" item type. So I used clob datatype to store the value of this item in the database. When the value is more than 32512 bytes, I get an error "Bad Request
    Your browser sent a request that this server could not understand.
    mod_plsql: /pls/apex/wwv_flow.accept HTTP-400 Value param too long. Length is 63658. Upper limit is 32512".
    But when the value of the item is less than 32512 and more than 27000 characters or so, I get another error "ORA-06502: PL/SQL: numeric or value error: character string buffer too small
         Error      ERR-1023 Unable perform validations. "
    When the item value is less than 25000 bytes or so, I do not get any error and functions properly.
    Is there any way I could remove the second error.
    Thanks,
    Vignesh

    Hi Hari,
    Ya I know, uploading a document would make more sense, but our requirement is that the end user is going to write in a text area ( we provide an item which is a "html editor standard"). So wanted to know if there is any way to do so.
    And about the error, created a simple plsql region and entered this as the source
    DECLARE
    CURSOR gn_cur IS
    SELECT gn.*
    FROM test_clob gn
    WHERE gn.ID = :P8_id;
    r_rec test_clob%ROWTYPE;
    BEGIN
    OPEN gn_cur;
    FETCH gn_cur INTO r_rec;
    CLOSE gn_cur;
    HTP.P('<TABLE cellSpacing=0 cellPadding=0 width="75%" align=center border=0>
    <TR>
    <TD>
    '||r_rec.test_col||'
    </td>
    </tr>
    </table>');
    END;
    where test_clob was the table and test_col was the clob column. When the column value had around 7000 characters, I did not get any error and the value was displayed in the page, but when the column value had around 20000+ characters, I got that numeric or value error.
    Thanks,
    Vignesh

Maybe you are looking for

  • Problem with services of SAP after installation of ABAP on MS SQL server

    Hi, I am trying top install 2004 Netweaver ABAP+ JAVA on my machine Following is my machine configuration - Machine type - Windows 2003 Standard Edition SP1 Machine name - pun-idmqa-vm1 SAP Instance name - QSA DB type - MS SQL 2000 SP4 + hotfixes and

  • How to get the original version of Web report in BW ?

    Hello Friends , I have transported one Web report from BW development to BW Production System. But unfortunately , the desired result not me met . So I have been asked to keep the original version of the Web report. As the new version of Web report h

  • Re installing Adobe Acrobat X Pro

    I have Vista Business Operating system. My computer crashed and I had to reinstall Adobe Acrobat X Pro after the hard drive was replaced.  For some reason now my system wont' recognize my adobe printer driver.  When I try to print to pdf, even though

  • In need to install classic on a g4 running with 10.3.5 instalationdisc from

    i just got a dual 533 hz g4 and i want to upgrade it for my studio i got a powerlogix upgrade {dual 1.2 with L4 cache] the hardware instalation is no problem but i need to upgrade the boot rom to version4.2.8 which i was told by powerlogix can only b

  • How do I create another library ...

    Hi ... I have 2 iPods and I want to create separate libraries for each one. How do I do that? Please help. Thanks.