Why can't  owa_text.vc_arr  handle the string with more than 4000 characters?

I am using PL_SQL with Oracle8i and OAS 4.0 web server.I want to
use owa_text.vc_arr to pass the inputs in serval text areas in the form on a web application.
If the input string length is less than 4000 characters, everything works fine.However when the strings are longer than 4000 characters but less than the max length 32767 characters, I got this error message:
OWS-05101: Execution failed due to Oracle error 2005
ORA-02005: implicit (-1) length not valid for this bind or define datatype.
In the Oracle Application Server 4.0 documment, it says
about owa_text.vc_arr :Type vc_arr is table of varchar2(32767)
index by binary_integer. It means that owa_text.vc_arr can handle multiple strings and each string can have up to 32767 single byte characters, is it right?
Owa_text.vc_arr is supposed to handle the string with more
than 4000 characters, is it true? Could anyone tell me why? Any
help will be greatly appreciated!!!
Thanks very much.
Helena Wang
Here is the pl_sql procedure to create my form on the web:
PROCEDURE myform
IS
BEGIN
htp.p('
<form action="'||service_path||'helena_test.saveform3"
method=post>
<input type=hidden name=tdescription value="X">
Input1: <textarea name=tdescription rows=50 cols=70
WRAP=physical></textarea>
Input2: <textarea name=tdescription rows=50 cols=70
WRAP=physical></textarea>
<input type=submit name=WSave value="Save">
</form>
END;
/***** here is the pl_sql procedure which I use to save the
form***/
procedure saveform3(tdescription in owa_text.vc_arr,
WSave in varchar2 default 'No')
is
len pls_integer;
begin
for i in 2..tdescription.count loop
len := length(tdescription(i));
htp.p(len);
htp.p(tdescription(i));
end loop;
end;

The maximum size of a VARCHAR2 field in Oracle 8i is 4000 bytes.
you'll ned to use a LOB type (or LONG if you prefer the old way)

Similar Messages

  • Owa_text.vc_arr: can't handle the string with more than 4000 characters?

    In the Oracel Web Application Server 4.0 documment, it says
    about owa_text.vc_arr :Type vc_arr is table of varchar2(32767)
    index by binary_integer.
    I amusing PL_SQL with Oracle8i and OWA4.0 web server.I want to
    use owa_text.vc_arr to pass the multple line texts in my form.
    If the text length is less than 4000 characters, everything works
    fine.However when the texts are longer than 4000 characters but
    less than the max length 32767 characters, I got this error
    message:
    OWS-05101: Execution failed due to Oracle error 2005
    ORA-02005: implicit (-1) length not valid for this bind or define
    datatype.
    Owa_text.vc_arr is supposed to handle the string with more
    than 4000 characters, is it true? Could anyone tell me why? Any
    help will be greatly appreciated!!!
    Thanks very much.
    Helena Wang
    Here is the pl_sql procedure to create my form:
    PROCEDURE myform
    IS
    BEGIN
    htp.p('
    <form action="'||service_path||'helena_test.saveform3"
    method=post>
    <input type=hidden name=tdescription value="X">
    Input1: <textarea name=tdescription rows=50 cols=70
    WRAP=physical></textarea>
    Input2: <textarea name=tdescription rows=50 cols=70
    WRAP=physical></textarea>
    <input type=submit name=WSave value="Save">
    </form>
    END;
    /***** here is the pl_sql procedure which I use to save the
    form***/
    procedure saveform3(tdescription in owa_text.vc_arr,
    WSave in varchar2 default 'No')
    is
    len pls_integer;
    begin
    for i in 2..tdescription.count loop
    len := length(tdescription(i));
    htp.p(len);
    htp.p(tdescription(i));
    end loop;
    end;

    Helena, I think you might get a better response either from the SQL-PL/SQL forum, or perhaps the Portal Applications forum - both of these tend to have folks very familiar with PL/SQL and the OWA packages.
    This forum is on Web services based on SOAP, WSDL and UDDI. These can be PL/SQL based but typically don't use the mod_psql or OWA web solution.
    As a pointer, I suspect you may already be familiar with, but just in case, you can always take a look at chapter 3 of the OAS documentation, "Developer's Guide: PL/SQL and ODBC Applications" where they go through a number of examples using parameters. See:
    http://technet.oracle.com/doc/appsrvr4082/guides/plsql.pdf
    Hope this or folks from the other list can help.
    Mike.

  • Get the data with more than one of the desired value

    Hi,
    I need to pull the records with more than one value of 'Other' on the delivery days fields.
    The delivery fields are mon,tue,wed,thu,fri and sat that tells the where the item will be delivered. The value can be Home, Work, or Other.
    Here is the Sample data:
    cust_id: 123
    item: newspaper
    mon: Home
    tue:Work
    wed: Other
    thu: Home
    fri: Other
    sat: Other
    And here is my query so far.
    select
    cust_id,
    item,
    mon,
    tue,
    wed,
    thu,
    fri,
    sat,
    sum(case when (del_mon = 'O' or del_tue ='O' or del_wed ='O' or del_thu ='O' or del_fri ='O' or del_sat='O') then 1
    else 0 end) as day_ctr
    from customer
    Could you please help me with the right formula I need to get this?
    Thank you in advance..

    First
    DESC customer
    Second
    Can you explain what you are trying with
    sum(case when (del_mon = 'O' or del_tue ='O' or del_wed ='O' or del_thu ='O' or del_fri ='O' or del_sat='O') then 1 else 0 end) as day_ctr
    Third
    Usually it's helpful a example of the result you want...
    Perhaps you want this
    select DECODE(mon,1,(select distinct mon from customer), 'OTHER') mon,
            DECODE(tue,1,(select distinct tue from customer), 'OTHER') tue,
            DECODE(wed,1,(select distinct wed from customer), 'OTHER') wed,
            DECODE(thu,1,(select distinct thu from customer), 'OTHER') thu,
            DECODE(fri,1,(select distinct fri from customer), 'OTHER') fri,
            DECODE(sat,1,(select distinct sat from customer), 'OTHER') sat from
    select
    COUNT(DISTINCT mon) mon,
    COUNT(DISTINCT tue) tue,
    COUNT(DISTINCT wed) wed,
    COUNT(DISTINCT thu) thu,
    COUNT(DISTINCT fri) fri,
    COUNT(DISTINCT sat ) sat
    from customer
    )

  • SQL Loader fails to process string columns with more than 255 characters

    Hi all,
    I am using LKM file to sqlldr(oracle) to load data from flat file to oracle. I am aware of the fact that if you don't specify length of the input character data, sqlldr uses default of 255 characters. But, in my source datastore I have specified the column length to be 1000, but sqlldr still fails to process records with more that 255 characters.
    Any idea how to change this behavior of sqlldr?
    Appreciate your response.
    Akshata

    You can change the step "Generate CTL File"
    and replace the section:
              } else {
              // The source column is a STRING => no options to add
                   format = "";
              };with
              } else {
              // The source column is a STRING => add char(length) for length greater than 255
                   taille = new Integer(colPrecision).intValue();
                   if (taille > 254)
                   format = "CHAR("+colPrecision+")";
                   else
                   format ="";
              };

  • Can I use my iTunes Store account with more than one PC ?

    Hi all,
    Am I able to use my iTunes Store account with more than one PC ?
    I use my account on my PC - but I would like to download the latest version of iTunes onto my Mum's laptop, log in to my own iTunes Store account and rent a movie for her to download onto the laptop.
    Is this possible and would I still be able to use my account on my PC at the same time?
    Many thanks,
    Steve.

    Good question.
    I don't think you can--if I'm incorrect, someone will tell me--but it seems to me to be easier to simply open an iTunes account for your mom. Then get her a gift card, load it into iTunes for her, and rent a movie that way. Not elegant at all...but workable.
    Doc

  • Need to insert into a table 1 of the fields (CLOB)with more than 4000 chars

    Dear Gurus,
    As far I understood, I need to write a function which get as parameter the large text and using bind variables I can return a CLOB containing more than 4000 chars. I tried all I can do and feel I want to died. Please, can I get specified help in this issue?
    I APPRICIATE YOUR HELP, MARCELO.

    *** Duplicate Post ***
    Please, Marcelo, use the forum properly. Pick a single group and post there.
    Thank you.

  • HT5622 Can Face Time be used to connect with more than one person at a time?

    Can I connect with more than one person at a time when using Face Time?

    You mean like a conference call?  No, unfortunately.

  • HT4623 why can i play music in the background no more off youtube

    i cant play music off you tube in the back ground no more, i use to abel to start playing a song close it fast then pres the home buttom twice and slide to the left and pres play. but it wound do it no more... why? 

    Reset iPad
    Hold down the Sleep/Wake button and the Home button at the same time for at least ten seconds, until the Apple logo appears
    Note: Data will not be affected.

  • Handling the failures of more than one step..

    OK,
    So I have a package it has several steps, all of which run independtly. They are concerned with the generation of text files.
    The steps work, but I want to include good error handling.
    This is one of four Groups I have created, each with similar tasks inside.
    Lets take an example, of one group, I have attached a picture of the kind of failure I am trying to Trap.
    It seems it goes at the end of this post.
    Anyway, what I would like in the below example is, an email is sent to support stating:
     - The TaskName(s) that failed.
     - The ErrorDescription(s).
    For instance, in my example I deliberately set the overwrite to false, but I know there is a file there, so it would always fail.
    I tried some OnError logging for the job but it doesn't work.
    I also tried OnTask failure logging for the job but it doesn't work.
    The best I ever managed is an email with ONE of the failures on it, but I want one email with both failures on, (or all failures on, or 1 failure on, depedendent upon what fails).
    If that is 100% not possible, then I guess it might be OK (but it isn't really what I want) to get individual emails for each component. What is the best way to meet this requirement? fyi, if scripting is involved I use Visual Basic.

    Hi,
    I am creating a job that handles errors, using Event Handlers - On Error (see below).
    The point is that the dataflow task basically outputs the error message into a Variable (with Type Object).
    Then later, I include this on an email, saying the job has failed and this was the error we got.
    That all works fine, but as you can see I want to point more than one step into the error email.
    We can do so with an Or for OnError's.
    This is OK, but what I've noticed is that results are variable when more than one step fails:
     - For instance, I've set the job up on purpose so that two steps fail > the result is that you
    might get 1 email, but you might get more than one email. It's unpredictable; I wondered if there is a way round this!

  • Why can't I send a text message to more than one contact?

    With all my previous cell phones I was able to send a single text message to more than one contact. With the iPhone I can only send to one contact and then I have to type the text message again and send to another contact, and so on. Or am I messing a fuction on the iPhone that allows for sending a text message to more than one contact?

    No, you are not missing it. That feature is not available on the iPhone.

  • Handling internal table with more than 1 million record

    Hi All,
    We are facing dump for storage parameters wrongly set.
    Basically the dump is due to the internal table having more than 1 million records. We have increased the storage parameter size from 512 to 2048 , still the dump is happening.
    Please advice is there any other way to handle these kinds of internal table.
    P:S we have tried the option of using hashed table, this does not suits our scenario.
    Thanks and Regards,
    Vijay

    Hi
    your problem can be solved by populating the internal table in chunks. for that you have to use Database Cursor concept.
    hope this code helps.
    G_PACKAGE_SIZE = 50000.
      * Using DB Cursor to fetch data in batch.
      OPEN CURSOR WITH HOLD DB_CURSOR FOR
             SELECT *
               FROM ZTABLE.
        DO.
        FETCH NEXT CURSOR DB_CURSOR
           INTO CORRESPONDING FIELDS OF TABLE IT_ZTABLE
           PACKAGE SIZE G_PACKAGE_SIZE.
        IF SY-SUBRC NE 0.
          CLOSE CURSOR DB_CURSOR.
          EXIT.
        ENDIF.

  • WRT 120N- Cannot connect to the internet with more than one PC at a time.

    Before I went on a three month vacation,I could connect 3 or 4 PC's either wireless or wired to my router with no problems at all.I have a desk top and a laptop computer which I use at home.After I returned,I found that I could connect to the internet with only one PC at a time.
    If I was say,connected via my laptop,my desk top would continuously keep getting disconnected and vice versa.I have been reading the suggestions from experts here and have done a few checks based on them.I also cannot get to my router page which is 192.168.1.1 I keep getting a message that says "Problem Loading Page" and this happens with both,Firefox and Internet Explorer.I am running Windows 7 - 32 bit on my desk top and Vista Home Premium on my laptop.
    I have opened the "Command Prompt" dialogue and pinged 192.168.1.1 and thereafter I typed in "ipconfig".These are the results:
    Microsoft Windows [Version 6.0.6002]
    Copyright (c) 2006 Microsoft Corporation.  All rights reserved.
    C:\Users\Gordon>ping 192.168.1.1
    Pinging 192.168.1.1 with 32 bytes of data:
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=111
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=111
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=111
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=111
    Ping statistics for 192.168.1.1:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    C:\Users\Gordon>ipconfig
    Windows IP Configuration
    PPP adapter Brownwolf:
       Connection-specific DNS Suffix  . :
       IPv4 Address. . . . . . . . . . . : 92.98.42.65
       Subnet Mask . . . . . . . . . . . : 255.255.255.255
       Default Gateway . . . . . . . . . : 0.0.0.0
    Ethernet adapter Local Area Connection* 22:
       Media State . . . . . . . . . . . : Media disconnected
       Connection-specific DNS Suffix  . :
    Wireless LAN adapter Wireless Network Connection:
       Connection-specific DNS Suffix  . :
       IPv6 Address. . . . . . . . . . . : 2002:5c62:2a41:c:35a2:8753:8832:f494
       Site-local IPv6 Address . . . . . : fec0::c:35a2:8753:8832:f494%2
       IPv6 Address. . . . . . . . . . . : 2002:5661:4cc9:c:35a2:8753:8832:f494
       Temporary IPv6 Address. . . . . . : 2002:5661:4cc9:c:a408:59a3:918e:f0ab
       Temporary IPv6 Address. . . . . . : 2002:5c62:2a41:c:a408:59a3:918e:f0ab
       Link-local IPv6 Address . . . . . : fe80::35a2:8753:8832:f494%12
       IPv4 Address. . . . . . . . . . . : 192.168.0.1
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . :
    Ethernet adapter Local Area Connection:
       Connection-specific DNS Suffix  . :
       IPv6 Address. . . . . . . . . . . : 2002:5c62:2a41:c:413:cf4f:77af:474d
       Site-local IPv6 Address . . . . . : fec0::c:413:cf4f:77af:474d%1
       IPv6 Address. . . . . . . . . . . : 2002:5661:4cc9:c:413:cf4f:77af:474d
       Temporary IPv6 Address. . . . . . : 2002:5661:4cc9:c:1591:ad9:13da:8fea
       Temporary IPv6 Address. . . . . . : 2002:5c62:2a41:c:1591:ad9:13da:8fea
       Link-local IPv6 Address . . . . . : fe80::413:cf4f:77af:474d%11
       IPv4 Address. . . . . . . . . . . : 192.168.1.100
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . : fe80::35a2:8753:8832:f494%11
                                           192.168.1.1
    Tunnel adapter Local Area Connection* 7:
       Media State . . . . . . . . . . . : Media disconnected
       Connection-specific DNS Suffix  . :
    Tunnel adapter Local Area Connection* 11:
       Media State . . . . . . . . . . . : Media disconnected
       Connection-specific DNS Suffix  . :
    Tunnel adapter Local Area Connection* 14:
       Media State . . . . . . . . . . . : Media disconnected
       Connection-specific DNS Suffix  . :
    Tunnel adapter Local Area Connection* 15:
       Media State . . . . . . . . . . . : Media disconnected
       Connection-specific DNS Suffix  . :
    Tunnel adapter Local Area Connection* 19:
       Media State . . . . . . . . . . . : Media disconnected
       Connection-specific DNS Suffix  . :
    Tunnel adapter Local Area Connection* 20:
       Connection-specific DNS Suffix  . :
       IPv6 Address. . . . . . . . . . . : 2002:5c62:2a41::5c62:2a41
       Default Gateway . . . . . . . . . : 2002:c058:6301::c058:6301
    Tunnel adapter Local Area Connection* 23:
       Media State . . . . . . . . . . . : Media disconnected
       Connection-specific DNS Suffix  . :
    Tunnel adapter Local Area Connection* 24:
       Media State . . . . . . . . . . . : Media disconnected
       Connection-specific DNS Suffix  . :
    Tunnel adapter Local Area Connection* 28:
       Media State . . . . . . . . . . . : Media disconnected
       Connection-specific DNS Suffix  . :
    I presume that this model is a modem **bleep** router as I do not have a separate modem with my system.I have a DSL connection and the firmware version of my router is ver.1.0.If I recall,I did upgrade to the next firmware upgrade a few months after I purchased the router but I am not sure.
    I use both my PC's to run a small business venture and I am worried that resetting the router may cause some other problems and will stop me from using the internet.
    The Command Prompt information above was taken from my laptop.
    Any help will be really appreciated.
    Gerard.
    Solved!
    Go to Solution.

    brownwolf66 wrote:
    No,I have a desk top and a laptop and I cannot access 192.168.1.1 on either of them.In my OP,I have used the Command Prompt dialogue on both computers to ping 192.168.1.1 and I have attached the results.This is what I got:
    Microsoft Windows [Version 6.0.6002]
    Copyright (c) 2006 Microsoft Corporation.  All rights reserved.
    C:\Users\Gordon>ping 192.168.1.1
    Pinging 192.168.1.1 with 32 bytes of data:
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=111
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=111
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=111
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=111
    Ping statistics for 192.168.1.1:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    The results I obtained using ipconfig in the command prompt have already been mentioned in my OP.
    I do not know if the above result is what it is supposed to be but I still cannot access my router's home page.How do I verify if there is a proxy server and if there is one,how do I disable it in my browsers?This problem occured suddenly as a few months earlier all was well.It's getting rather frustrating.
    I suggest resetting the router. Make sure firmware is updated. You can download it here - http://homesupport.cisco.com/en-us/support/routers/WRT120N. After firmware upgrade, reset and reconfigure. Just access the link below to guide you setting up the router.
    * Setting up a Linksys router for DSL Internet connection
    http://www6.nohold.net/Cisco2/ukp.aspx?vw=1&docid=20ee1457387f40178cd5f41d4b585db4_3687.xml&pid=80&r...
    * Setting up a Linksys router with Cable Internet service
    http://www6.nohold.net/Cisco2/ukp.aspx?vw=1&docid=0ff4c94586a345d082828ec2161aaecf_3686.xml&pid=80&r...

  • Send excel attachment with more than 255 characters in the internal table

    Hi,
    I need to send an attachment in the form of spreadsheet.
    But the internal table that is being used for sending attachment in mails can have only 255 characters in one row.
    Whereas my spreadsheet requires a greater width than 255 characters .

    Hi,
    I need to send an attachment in the form of spreadsheet.
    But the internal table that is being used for sending attachment in mails can have only 255 characters in one row.
    Whereas my spreadsheet requires a greater width than 255 characters .

  • Can't type on Flash-based site with more than one window open.

    When I try to use certain sites, I think flash, my Macbook will not allow me to type. For example, on the site "Prezi," I can type on my presentation right after I open the file, but as soon as I open a new Safari window and then return to Prezi, I can't. I have experienced this before with the site "Pandora" as well, and can only occasionally type in the search fields there. Please help!

    I am having very similar problems. We have three macbooks in the house. Mine is the older version but I have done all the upgrades. The new ones all type fine into flash based programs like prezi and voicethread, whereas I can only paste text into the program.

  • Null chars in strings with longer than 4000

    Here's the situation:
    I'm retrieving a large string (~10,000 characters) from a view
    in oracle 8, using a VB app and an ODBC connecion. The string is
    datatype long. When I get the string and analyze it in my
    program, I find that ASCII 0 (null) has been inserted at
    location 4000. I verified that the string was actually not
    stored with this null in Oracle, so I figure the problem is
    something with ADO or VB. Here is how I'm retrieving the
    string...
    'rs is my recordset
    sString = rs("LONG_STRING")
    Any thoughts on what the problem is here? Thanks.
    --Frank                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    I found a solution that appears to work. I switched my DSN so
    I'm using the "Mircosoft ODBC for Oracle" driver as opposed to
    the "Oracle ODBC Driver". Now the LONG text fields are returned
    as I expected.
    --Frank                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Maybe you are looking for

  • SB Audigy 2 ZS Platinum Pro - No Line In

    Hi there, I have the above card - all was working fine, had my line in's that i wanted - but i formatted my machine and put the latest driver on from this site (SBAX_WEBUP_LB_2_08_0004.EXE), no joy - only have the following under recording: - MIDI Sy

  • Receive Mail Sound Alert Not Working

    I had to remove and subsequently add my gmail account to rectify a problem. The problem was resolved by this action however since performing activity I no longer hear the message sound alert. I have checked all of my settings and sound volumes etc. a

  • How to make pack200 work with applet tag ?

    Hello All, Sorry for the cross-post. I tired getting the advise on java.net forum but with no success. Can someone here please help with this or direct me to right direction. I am trying to use the pack200 compressed jars for my Object/Applet tag, bu

  • Employment period Calculation

    Hi, How can we calculate the employment periods of an employee, in my case after completion of one year an employee is going to get eligibility of plans. for this how can i proceed. With Regards, Sushma.

  • Changing zone interface while zone is running

    i need to change the interface for the running Solaris zone in E2900 system. now the zone interface is ce0:1 now i need to change the interface to ce2. whether i need a reboot of the zone or not. if reboot is not needed the following is ok or not :my