SYS. DBMS_SQL. Version of overload of PARSE CLOB error PLS-00172: string literal too long.

I have This Oracle 12c Procedure

CREATE OR REPLACE PROCEDURE LOGINCHECK(stmt IN CLOB)
AS
  C INTEGER
;
  N INTEGER
;
  RC SYS_REFCURSOR
;
BEGIN
  C
:= SYS.DBMS_SQL.OPEN_CURSOR;
  SYS
.DBMS_SQL.PARSE(C,stmt,DBMS_SQL.native);
  N
:= SYS.DBMS_SQL.EXECUTE(C);
  SYS
.DBMS_SQL.GET_NEXT_RESULT(C,RC);
  SYS
.DBMS_SQL.RETURN_RESULT(RC);
EXCEPTION
WHEN NO_DATA_FOUND THEN
  
NULL;
when OTHERS then
  RAISE
;
END LOGINCHECK;


for example, to create an oracle with a xml or clob type IN FastInventory procedure and pass xml from this link https://drive.google.com/file/d/0BwAVQqYmX0-zQ1d1VnNmZndfcVE/view?usp=sharing


The of the stmt parameter is approximately 50000 characters.


DBMS_SQL. ANALYSIS gives error PLS-00172: string literal too long.


I'm passing stmt My .net code as parameter . OracleDbType.Clob then why this error occurring.


I use Oracle 12 c database. Visual Studio 2012, .net Framework 4;

OK now I have a response team of oracle.net where it says on tweeter

@OracleDOTNET team .NET oracle

Seems to be a bug specific to PL/SQL, because the error occurs on the DBMS_SQL. ANALYZE the call

Thank you all who have helped and at least tried to solve this problem.

Tags: Database

Similar Questions

  • CLob update fails with PLS-00172: string literal too long

    I have a clob column that needs updating with a message about message_id

    Description of the table

    SQL > desc cl_message1
    Name Null? Type
    ----------------------------------------- -------- ----------------------------
    MSG_ID(2) NOT NULL NUMBER (10)
    DATA NOT NULL CLOB

    UPDATE statement:
    CLOB variable data1;
    Start
    : data1: ='TESTHDR ^ add ^ 200812310374 ^ 15:53:22.0 2012-08-19 ^.
    TESTHDR ^ add ^ 200812310374 ^ 5652 ^ C0000029 ^ 15:46:49.0 2012-08-19 ^.
    TESTDWN ^ ADD ^ 200812310374 ^ 5652 ^ G ^ 03 ^ 00000999990000722444 ^.
    .....
    ... ----------------------------------------------------------------------------------------- 2376 lines of text-------------------------
    TESTDWN ^ ADD ^ 200812310374 ^ 5674 ^ G ^ 10 ^ 00000999990000743289 ^.
    TESTEND ^ 5674 ^';
    UPDATE cl_message1
    SET DATA =: data1
    WHERE
    msg_id(2) = '989';
    END;
    /

    When I run this statement it fails with


    SQL > @test_clob_insert.sql
    : data1: ='WAVEHDR ^ add ^ 200812310374 ^ 15:53:22.0 2012-08-19 ^.
    *
    ERROR on line 2:
    ORA-06550: line 2, column 10:
    PLS-00172: string literal too long

    According to my understanding of a bind variable can store a maximum of clob. Not sure why it is throwing this error. Help, please

    Concerning

    This column is stored in_row.


    SQL > r
    1 * select table_name, column_name, owner, in_row from dba_lobs where table_name = 'CL_MESSAGE1 '.

    OWNER, TABLE_NAME COLUMN_NAME IN2
    ------------------------------ ------------------------------ ---------------------------------------- ---
    VEERA CL_MESSAGE1 DATA YES

    Published by: 953621 on August 19, 2012 22:34

    Published by: 953621 on August 19, 2012 23:44

    953621 wrote:
    According to my understanding of a bind variable can store a maximum of clob. Not sure why it is throwing this error. Help, please

    Yes, if the binding variable is declared as a clob, so it can store the maximum size of the CLOB, but this isn't your problem.
    Your problem is that you set the clob data using a string literal that is a single quoted string. There is a limit to the size of the string literals, so you will have to accumulate the clob in adding a whole lot string literals instead.

  • Literal string too long for the CLOB

    Hello
    My version of the database is:
    Oracle Database 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE 11.2.0.1.0 Production
    AMT for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production

    When I run this piece of code, I get an error.
    DECLARE
    insCtx DBMS_XMLStore.ctxType;
    lines NUMBER;
    xmlDoc CLOB: = 'xml string is about 4600 long lines in TOAD...';
    BEGIN
    insCtx: = DBMS_XMLStore.newContext ("xmlTempTbl"); -get the context
    lines: = DBMS_XMLStore.insertXML (insCtx, xmlDoc); -Insert the doc
    DBMS_XMLStore.closeContext (insCtx); -close the handle
    END;

    ERROR:
    ORA-06550: line 4, column 19:
    PLS-00172: string literal too long

    From my understanding a CLOB leave maximum string size of 2 GB. And on top, my xml string is not greater than 2 GB (I cannot display the xml data string, refers to the business). So why I get the error too long string literal.
    For the above, I fault the XML into several parts and run the PLSQL, then it gives no error.
    Please advice.

    Published by: 934451 on November 8, 2012 07:06

    Published by: 934451 on November 8, 2012 07:07

    From my understanding a CLOB leave maximum string size of 2 GB.

    Not exactly:
    http://docs.Oracle.com/CD/E11882_01/AppDev.112/e25519/datatypes.htm#CHDDCGEE

    but this isn't the real problem.

    The error is about the "string literal" size, there is a limitation too:
    http://docs.Oracle.com/CD/E11882_01/server.112/e17766/pcmus.htm#sthref18132

    PLS-00172: string literal too long
        Cause: The string literal was longer than 32767 bytes.
        Action: Use a string literal of at most 32767 bytes.
    

    For the above, I fault the XML into several parts and run the PLSQL, then it gives no error.

    Is this a real case of production or you just test?
    In practice, we should first save the file in a variable/column CLOB (or XMLType) and then reference the content from there.

  • A question about the procedure of bind_array in the sys.dbms_sql package

    Hi all

    I have a problem with the procedure of bind_array of the sys.dbms_sql package and I would be grateful if you could kindly show where I've made mistakes in my code.

    Parameter
    Value of the parameter
    Oracle versionEnterprise Edition Release 11.2.0.1.0 - 64 bit
    OPERATING SYSTEMLinux Fedora Core 17 (X86_64)

    Test case:

    For the purpose of this exercise (if you want that data at your disposal), I use the employees of the HR schema example table.

    Problem:

    Consider the following SQL query:

    SELECT    t1.first_name fname
    FROM        hr.employees t1
    WHERE     t1.employee_id IN (197, 179, 130, 116);
    
    

    This gives the following result

    FNAME

    --------------------

    Mozhe

    Shelli

    Kevin

    Charles

    SQL >

    Just an exercise I want to use the dbms_sql package to do the same thing (there is absolutely no need to do it, because nothing is dynamic here, but as I said, the goal was to do some exercises with sys.dbms_sql package in order to better understand how to work these procedure/functions)

    Here's what I wrote (the following was performed directly in SQL * more):

    SET SQLBLANKLINES ON;
    ALTER SESSION SET PLSQL_WARNINGS='ENABLE:ALL';
    SET SERVEROUTPUT ON;
    
    
    CREATE OR REPLACE PROCEDURE mytestProc
    AUTHID DEFINER
    IS   
    BEGIN
        <<bk>>
        DECLARE
            curId       PLS_INTEGER;  -- The cursor ID
    
            rowCnt      PLS_INTEGER;  
    
           
            fname       hr.employees.first_name%TYPE;
            FNAME_LNG   CONSTANT PLS_INTEGER := 20;
           
            empIds      sys.dbms_sql.NUMBER_TABLE;
           
            SQLSTMT     CONSTANT VARCHAR2(100) :=
                'SELECT t1.first_name '                 ||
                'FROM   hr.employees t1 '               ||
                'WHERE  t1.employee_id IN :b_empIdTab';
        BEGIN
            -- We chose 4 arbitrary employee_id for
            -- the purpose of this exercise from
            -- the employee table of oracle sample
            -- 'hr' schema
            empIds(1) := 197;
            empIds(2) := 179;
            empIds(3) := 130;
            empIds(4) := 116;
           
            bk.curId := sys.dbms_sql.open_cursor(security_level=>2);
           
            sys.dbms_sql.parse(bk.curId, 
                                bk.SQLSTMT, 
                               sys.dbms_sql.NATIVE
                              );
                              
            sys.dbms_sql.define_column(bk.curId, 
                                       1, 
                                       bk.fname,
     bk.FNAME_LNG
                                      );
           
            -- So normally here the 4 employees id are provided
            -- to the SQL statement
            sys.dbms_sql.bind_array(bk.curId, ':b_empIdTab', bk.empIds);
           
            rowCnt := sys.dbms_sql.execute(bk.curId);
           
            WHILE (sys.dbms_sql.fetch_rows(bk.curId) > 0) LOOP
                sys.dbms_sql.column_value(bk.curId, 1, bk.fname);
                sys.dbms_output.put_line('fname = ' || bk.fname);
            END LOOP;
           
            sys.dbms_sql.close_cursor(bk.curId);
        END;
    END mytestProc;
    /
    SHOW ERRORS;
    
    
    BEGIN
        mytestProc();
    END;
    /
    
    
    DROP PROCEDURE mytestProc;
    SET SERVEROUTPUT OFF;
    
    

    And here is the result of the code above:

    fname = Shelli

    PL/SQL procedure successfully completed.

    SQL >

    What don't get me, is why instead of four names (fname), I get one?

    Thanks in advance,

    Kind regards

    Dariyoosh

    To be honest, the evolution of the DBMS_SQL is somewhat confusing, but suffice it to say the DBMS_SQL. Procedure BIND_ARRAY is not what you are looking for.

    The DBMS_SQL. Procedure BIND_ARRAY binds each value in the array to turn to * separated * execution of the SQL statement, which is similar to the FORALL in native dynamic SQL statement. While this works well for INSERT/UPDATE/DELETE and works in principle with SELECT statements, which, according to me, you actually get is the result of one of these performances that is clearly not what you want.

    Instead what you are looking for is one of the overloads of the DBMS_SQL. Procedure bind_variable that supports the binding types of collections, but will not work with SQL, you have now the paragraph uses a literal in, you use is a MEMBER OF (which is AFAIK not call to the index) or treat the collection in a table via the syntax of function () TABLE and each join or use it as an IN subquery.

  • the returned parser 0xC00CE556 error

    my laptop is HP Vista and the hardware is compatible with vista.

    Original title: the parser returned error 0xC00CE556 keeps me using a HDwriter videcam although the hardware (camera Panasonic) seems to have downloaded ok... any help would be great... see you soon!

    Hi Theyoyoman,

    This error is related to the .net Framework, I suggest you go to the link below and follow the suggestion posted by Mike on Tuesday, October 27, 2009 04:07 and check if it helps you to fix the error returned theparser 0xC00CE556 and if the video cam works fine.

    http://social.answers.Microsoft.com/forums/en-us/XPRepair/thread/52e9dd11-78c6-4B07-809e-11f7b6cf81ee

    I hope this helps. Let us know the results.

    Thank you and best regards,

     

    Srinivas R

    Microsoft technical support.

    Visit our Microsoft answers feedback Forum and let us know what you think.

  • Cannot install NET. Framework, Version 2.0 (KB928365) get code error 0x66a

    Original title: Service pack download

    Cannot install NET. Framework, Version 2.0 (KB928365) get code error 0x66a.

    Fix that it will not download says I need the above to make it work

    What should I do?

    See the RESPONSE message in the previous thread-online http://answers.microsoft.com/thread/b6b00d3a-a1f8-432d-9ffa-69de95baca3e

  • Latest version of KB905866 will install not (error 80004005) automatically or manually

    Latest version of KB905866 will install not (error 80004005) automatically or manually.  I tried the regular and most aggressive FixIt for updates.  I also tried to do nothing works safe mode.  I also tried to block the startup applications and tried all th eproceures again no no is made.  At one point my event log indicated that this update is not supported with this computer (not the event log regular I received after most of the trials).  Any other ideas?  I am running Windows Vista Ultimate 32)

    0x80004005= unknown error - can occur due to programs/services to interfere in the background.

    Suggestion-

    • Do a clean boot and try to reinstall the update.

    How to troubleshoot a problem by performing a clean boot in Windows Vista or in Windows 7
    http://support.Microsoft.com/kb/929135

    • Download the update manually and install it in a clean boot state.
     
  • I'm trying to download a trial version of first, but get an error downloading A12E5. I see Adobe support page recommends uninstalling creative cloud, but it is not even in my installers folder. Maybe it was never installed? Don't know what to do

    I'm trying to download a trial version of first, but get an error downloading A12E5. I see Adobe support page recommends uninstalling creative cloud, but it is not even in my installers folder. Maybe it was never installed? Don't know what to do next. Thanks for any help you can provide. I am avid editor and really want to try first!

    uninstall all cc on your computer.

    clean through the use of the Adobe Creative Cloud cleaning tool to solve installation problems

    Restart your computer

    Install the desktop cc app from here, https://creative.adobe.com/products/creative-cloud

    Install your trials and subscriptions using the desktop application.

  • I chose the trial for InDesign download version and it has been downloading for 30 minutes. It normally takes too long or I did something wrong?

    I chose the trial for InDesign download version and it has been downloading for 30 minutes. It normally takes too long or I did something wrong?

    Clear the Temp / Tmp folder and try again

    Or you can also download the direct download link:

    http://prodesigntools.com/Adobe-CC-2015-direct-download-links.html

    Let me know if you need help

  • Whenever I try to save a PDF file using Adobe Acrobat DC (Version 15.1), I get the error "the document could not be saved. There was a problem reading this document (21). »

    Whenever I try to save a PDF file using Adobe Acrobat DC (Version 15.1), I get the error "the document could not be saved. There was a problem reading this document (21). "When I click ok, an error message appears saying:"insufficient data for an image. "I tried to do a repair on Acrobat, but it has not changed anything. I also tried some updates, but nothing that is. I did hours of research on the Internet and have found nothing so far. Does anyone know why this error keeps appearing?

    Thank you!

    Hi all

    This problem has been corrected and is implemented to come or update.

    Kind regards

    Rave

  • I can not download the trial version of photoshop elements 10, receive error #2032

    Unable to download the trial version of photoshop elements 10, get error #2032

    Hello, I downloaded all the updates that are available for windows xp and then passed under my browser explore on firefox. It worked! successfully downloaded the free trial version of 10 items. I am very impressed with it. Thank you very much for your help.

  • MouseOver CLOB fields in the spreadsheet poster a long text string

    I use SQL Developer 4.1.1.19.59. Running a query on a table with a CLOB field (for example, the view System V$ SQL) displays the CLOB column with «...» "at the end of the field. When I mouse over this column, I get a long string of text that extends on to my second monitor. A current colleague 4.0.0.12 version gets a beautiful bubble pop up that shows the wrapped around CLOB field is actually readable.

    Is there a setting that controls this? Or is it a (bug) difference between the two versions of the SQL Developer? If it is a parameter, I was not able to find it through preferences.

    Received a response from Oracle.

    Try to set the following preferences:
    -Open tools/preferences/environment
    -set the 'Look and Feel' = Oracle
    -define "Line terminator" = Platform Default

    He fixed it. I had the 'Look and Feel', set to "Windows". Change to 'Oracle' now annoys me long SQL statements in a little easier to read the pop-up box.

    I will still argue that it should display the text in this way, the 'Look and Feel' no matter what I choose. It will be fixed or changed in a later version.

    Thank you

    Brian

  • How to fix 'Version 1.0 already exists.' error while updating your app

    Hello

    Im trying to update my app on the market. When I download I get error "Version 1.0 already exists.". Ive been looking everywhere and I can not find how do you define your version number of the app?
    Does anyone know how to set my version number 1.1?

    Have you updated your manifest file:
    https://developer.Mozilla.org/en-us/A.../manifest#version

  • After the update to the latest version of iTunes, it includes the error message 'Push Apple has stopped working' and ITune could not be started

    iTune cannot be started on Win 7 after recent update with error message "Push Apple has stopped working"

    For general advice, see troubleshooting problems with iTunes for Windows updates.

    The steps described in the second case are a guide to remove everything related to iTunes and then rebuild what is often a good starting point, unless the symptoms indicate a more specific approach. Review other cases and a list of documents to support further down the page, in which case one of them applies.

    More information area has direct links with the current and recent if you have problems to download, need to revert to a previous version or try the version iTunes for Windows (64-bit-for old video cards) as a workaround for the problems of performance or compatibility with third-party software.

    Your library must be affected by these measures, but it is also related to backup and recovery advice if necessary.

    TT2

  • I have the latest version of Firefox yet my computer said on my homepage that I need to install the latest version, Youtube points out also my download of the browser is no longer supported the latest version

    It is what is on my tab help (about Mozilla Firefox), it seems that I have the 2.0 version in there somehow.

    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; RV:1.9.2.13) Gecko/20101203 Firefox/2.0.0.9; EGAMES 1.0 (.NET CLR 3.5.30729)

    You have a corrupted user agent:

    • Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; RV:1.9.2.13) Gecko/20101203 Firefox/2.0.0.9; EGAMES 1.0 (.NET CLR 3.5.30729)

    See:

    Check general.useragent preferences on the topic: config page.
    You can open the topic: config page through the address bar just like you open a Web site.
    Filter: general.useragent
    If all general.useragent prefs are "BOLD" (user set) then right-click this pref and select reset.

Maybe you are looking for