ORA-06505: PL/SQL: variable requires more than 32767 bytes of contiguous memory

Environment:
Windows 2000 Server
ASP
IIS 5.0
Oracle 8.1.7
When calling a stored procedure like the following:
PROCEDURE MyProc(p1 IN VARCHAR2, p2 OUT VARCHAR2)
with the Oracle OLEDB driver if the parameter length for parameter p2 is greater than 32767, this error will be returned. In the ASP code I call
myConn.Close
Set myConn = Nothing
If I change the ASP to set the parameter length p2 to something smaller, like 500 and run the code again, Oracle raises the same error even though I know that this code will work. It seems that Oracle or IIS or something is not releasing the reference to the initial call to the stored procedure. Does this have something to do with Microsofts resource or connection pooling? Is it possible to programmatically clear this error in the ASP page in me environment? Any help would be greatly appreciated. Following is the ASP code that calls the stored procedure. I've removed the error handling code for readablity:
<%@ LANGUAGE="VBSCRIPT" %>
<%
Dim theConn, theCmd, Prm1, Prm2, inStr
Set theCmd = Server.CreateObject("ADODB.Command")
Set theConn = Server.CreateObject("ADODB.Connection")
Set Prm1 = Server.CreateObject("ADODB.Parameter")
Set Prm2 = Server.CreateObject("ADODB.Parameter")
theConn.ConnectionString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=theSource;" & _
"Password=thePwd;" & _
"User ID=theID;"
theConn.Open
Set theCmd.ActiveConnection = theConn
theCmd.CommandText = "begin MyProc(?,?); end;"
inStr = Request.Form("txtFieldName")
Set Prm1 = theCmd.CreateParameter("IN_STR", 8, 1, Len(inStr), inStr)
theCmd.Parameters.Append Prm1
Set Prm2 = theCmd.CreateParameter("OUT_STR", 8, 2, 500) <-- << Failure >>
theCmd.Parameters.Append Prm2
theCmd.Execute
Response.Write ("<br>" & theCmd.Parameters("OUT_STR"))
If (theConn.State = adStateOpen) Then
theConn.Close
End If
Set theCmd = Nothing
Set theConn = Nothing
Set Prm1 = Nothing
Set Prm2 = Nothing
%>
If i run this with Prm2 length = 500 (Line << FAILURE >>) it runs fine. When I set it to 40000, the Ora-06505 error is raised, which is good cause that's what you'd expect. BUT, when I change it back to 500, it still fails. Somehow, something keeps a reference on the illegally binded stored procedure or something. If I reboot, it works again. Is it possible to clear this error after it occurs so that the next execution of the ASP will work properly if it is within limits?
Any advice would be most helpful. Thanks in advance...
Neil

You should use CLOB type instead of VARCHAR2.
Rgds
Petr

Similar Messages

  • ORA-01427: single-row subquery returns more than one row -- no solution

    Hello to all:
    I have to tables:
    Table a anwender (Email,Dept). --> all fields are filled
    Table b dingo (Name,email,dept) --> all fields are filled
    I now want to update the table a with the data from table b:
    update anwender a set a.abteilung = ( select distinct b.abteilung from dingo b where b.email = a.email);
    Then I got the error: ORA-01427: single-row subquery returns more than one row
    Every dept is about 100x in the database, so it is clear that i got more than one row back. But how can I update the table now?

    Okay, I got several duplicates, and I deletet a lot of data in my database.
    Now I want to remove all entries with more than one departments per mail adresses.
    a
    select email,count(abteilung) from dingo group by email having count(abteilung)>1 order by count(abteilung)
    shows me all the fake mailadresses.
    But a
    delete from dingo where email in (select email,count(abteilung) from dingo group by email having count(abteilung)>1 order by count(abteilung) );
    gives me a
    SQL Error: ORA-00907: missing right parenthesis
    I´m very confused now ...
    Oops, now I got the solution:
    delete from dingo where email in (select email from (select email,count(abteilung) from dingo group by email having count(abteilung)>1 )) ;
    Edited by: user8309218 on Dec 18, 2009 6:24 AM

  • TWO ERRO ORA-01427: single-row subquery returns more than one row

    Hi,
    I have a procedure which contains a cursor. If i run the select statement in the cursor separetly, it returns only value and works fine. But the same select statement in the cursor of a procedure throws me the error as below:
    TWO ERRO ORA-01427: single-row subquery returns more than one row
    Not sure what going on...any help appreciated.
    Below is the select statement:
    SELECT DISTINCT PSE.PARENT_POSITION_ID,
    (SELECT DISTINCT PPD1.SEGMENT2
    FROM PER_POSITION_DEFINITIONS PPD1,
    HR_ALL_POSITIONS_F HAPF2,
    PER_POS_STRUCTURE_ELEMENTS PSE2
    WHERE TRUNC(SYSDATE) BETWEEN
    HAPF2.EFFECTIVE_START_DATE AND
    HAPF2.EFFECTIVE_END_DATE
    AND PPD1.POSITION_DEFINITION_ID =
    HAPF2.POSITION_DEFINITION_ID
    AND
    HAPF2.POSITION_ID = PSE2.PARENT_POSITION_ID
    AND PSE2.PARENT_POSITION_ID =
    PSE.PARENT_POSITION_ID
    AND ROWNUM = 1) SEGMENT2,
    (SELECT DISTINCT PAPF1.FIRST_NAME || ' ' ||
    PAPF1.LAST_NAME CHIEF_NAME
    FROM PER_ALL_PEOPLE_F PAPF1,
    PER_ALL_ASSIGNMENTS_F PAAF1
    WHERE TRUNC(SYSDATE) BETWEEN
    PAPF1.EFFECTIVE_START_DATE AND
    PAPF1.EFFECTIVE_END_DATE
    AND TRUNC(SYSDATE) BETWEEN
    PAAF1.EFFECTIVE_START_DATE AND
    PAAF1.EFFECTIVE_END_DATE
    AND PAAF1.POSITION_ID = PSE.PARENT_POSITION_ID
    AND PAPF1.PERSON_ID = PAAF1.PERSON_ID
    AND ROWNUM = 1) CHIEF_NAME
    FROM PER_POS_STRUCTURE_ELEMENTS PSE,
    HR_ALL_POSITIONS_F HAPF,
    PER_POSITION_DEFINITIONS PPD
    WHERE PSE.SUBORDINATE_POSITION_ID = 52744
    AND TRUNC(SYSDATE) BETWEEN HAPF.EFFECTIVE_START_DATE AND
    HAPF.EFFECTIVE_END_DATE
    AND HAPF.POSITION_ID = PSE.SUBORDINATE_POSITION_ID
    AND HAPF.POSITION_DEFINITION_ID = PPD.POSITION_DEFINITION_ID;
    Thanks
    PK
    Edited by: user539616 on Jun 30, 2009 6:30 PM

    Hi,
    The cursor has a different parameter? Maybe the query is not exactly the same. Could you check this?
    This is your query (formatted):
    SELECT DISTINCT PSE.PARENT_POSITION_ID,
                    (SELECT DISTINCT PPD1.SEGMENT2
                       FROM PER_POSITION_DEFINITIONS   PPD1,
                            HR_ALL_POSITIONS_F         HAPF2,
                            PER_POS_STRUCTURE_ELEMENTS PSE2
                      WHERE TRUNC(SYSDATE) BETWEEN HAPF2.EFFECTIVE_START_DATE AND
                            HAPF2.EFFECTIVE_END_DATE
                        AND PPD1.POSITION_DEFINITION_ID = HAPF2.POSITION_DEFINITION_ID
                        AND HAPF2.POSITION_ID = PSE2.PARENT_POSITION_ID
                        AND PSE2.PARENT_POSITION_ID = PSE.PARENT_POSITION_ID
                        AND ROWNUM = 1) SEGMENT2,
                    (SELECT DISTINCT PAPF1.FIRST_NAME || ' ' || PAPF1.LAST_NAME CHIEF_NAME
                       FROM PER_ALL_PEOPLE_F      PAPF1,
                            PER_ALL_ASSIGNMENTS_F PAAF1
                      WHERE TRUNC(SYSDATE) BETWEEN PAPF1.EFFECTIVE_START_DATE AND
                            PAPF1.EFFECTIVE_END_DATE
                        AND TRUNC(SYSDATE) BETWEEN PAAF1.EFFECTIVE_START_DATE AND
                            PAAF1.EFFECTIVE_END_DATE
                        AND PAAF1.POSITION_ID = PSE.PARENT_POSITION_ID
                        AND PAPF1.PERSON_ID = PAAF1.PERSON_ID
                        AND ROWNUM = 1) CHIEF_NAME
      FROM PER_POS_STRUCTURE_ELEMENTS PSE,
           HR_ALL_POSITIONS_F         HAPF,
           PER_POSITION_DEFINITIONS   PPD
    WHERE PSE.SUBORDINATE_POSITION_ID = 52744
       AND TRUNC(SYSDATE) BETWEEN HAPF.EFFECTIVE_START_DATE AND HAPF.EFFECTIVE_END_DATE
       AND HAPF.POSITION_ID = PSE.SUBORDINATE_POSITION_ID
       AND HAPF.POSITION_DEFINITION_ID = PPD.POSITION_DEFINITION_ID;Tips: To put formatted code you must use {noformat}{noformat} tags, start tag and end tag are the same,you don't need to put '/' in the close tag.
    Regards,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • ORA-01427 single-row subquery returns more than requested number of rows

    Hi All,
    SR#3-5155460391
    When opening the Expense report form the given error occurs.
    This is happening with only one employee.
    The condition could not be evaluated because of error ORA-01427
    single-row subquery returns more than requested number of rows.
    query is:
    select pea.segment5
    from
    per_all_assignments_f paf,
    pay_personal_payment_methods_f ppm,
    pay_external_accounts pea,
    fnd_application fap,
    fnd_id_flex_structures ffs
    where
    paf.person_id=:employee_id
    and paf.primary_flag='Y'
    and paf.assignment_type='E'
    and trunc(sysdate) between paf.effective_start_date and paf.effective_end_date
    and ppm.assignment_id=paf.assignment_id
    and trunc(sysdate) between ppm.effective_start_date and ppm.effective_end_date
    and ppm.attribute2='Y'
    and pea.external_account_id=ppm.external_account_id
    and pea.id_flex_num=ffs.id_flex_num
    and fap.application_short_name='PAY'
    and ffs.application_id=fap.application_id
    and ffs.id_flex_code='BANK'
    and ffs.id_flex_structure_code='GB_BANK_DETAILS';
    Thanks,
    Shikha
    Edited by: user10456902 on Feb 3, 2012 1:57 AM

    Hi,
    First try to find pea.external_account_id from per_all_people_f,per_all_assignments_f,fnd_application.fnd_id_flex_structures etc
    and then find
    SELECt pea.segment5
    FROM pay_external_accounts pea
    WHERE pea.external_account_id = : external_account_id -- derived from SQL1
    and check how many rows are returned

  • Setting up inspection point in a scenario require more than one inspection

    Hi all,
    Maybe I am still not very clear on the PP-QM conceptu2026 hope you can see my problem on the following questionu2026..
    According to SAP in the QM-production environment, we key in ONE inspection point in the task list header level (i.e. either the master recipe, routing, or rate of routing).
    Based on the following business scenario which is going to use inspection point for the inspection:
    u2022     Time-based intervals (for example, an inspection point every hour or for each work shift)
    u2022     Quantity-based intervals (for example, an inspection point for each container)
    u2022     Freely-defined intervals (for example, an inspection point each time a tool change occurs)
    Since each of the above scenarios require more than one inspection points to be created and to be assigned to the task list header.
    Thus, how to accomplish multiple inspection point assignment when the task-list header only allow me to assign one inspection point at a time?
    Thanks
    YY

    Hi guys,
    Thanks. However, in the SAP help portal it does said the system allows several inspection points to be assigned to an inspection operation whether it is in routing or recipe.
    Therefore, does it means I can assign more than one inspection points in the operation detail level for either recipe or routing if I will to click the u201CNo relationu201D radio button in the u201CQuality Management: Inspection Pointu201D section. (i.e. is this is the right place to allows this assignment)?
    For example, on the change master recipe screen at the Operation tab, I highlight one line item (i.e. one operation line item and zoom into this operation line item, I donu2019t see any field box that allow me to assign several inspection points to an operation? Instead, on the u201CQuality Management: Inspection Pointu201D section, there are the following fields appear:
    - Insp.pointCompletion dropdown box
    - 4 radio buttons on the inspection interval (ie. Time-related, Qty-related, No-relation) and its subseq time and quantity value input box.
    - Quan.pt. lot checkbox
    - Last Part Lot Assgmt checkbox
    Thus, where is the section in the operation overview screen at Master Recipe or Routing level that I can assign several inspection points?
    Thanks
    YY

  • ORA-01427: single-row subquery returns more than one row

    I have a problem something like this:
    table A
    id col1 after_update
    1 ? 11
    2 ? 22
    3 ? 33
    3 ? 44
    3 ? 55
    4 ? 66
    5 ? 88
    5 ? ? /* won't be updated */
    6 ? 99
    7 ? null /* updated to null */
    9 ? 20
    table B
    id col2
    1 11
    2 22
    3 33
    3 44
    3 55
    4 66
    4 77
    5 88
    6 99
    8 10
    9 20
    When I try the query:
    update table A
    set col1 = (select distinct col2 from table B) it gives me the error ORA-01427: single-row subquery returns more than one row
    When I try the query:
    update (select x.col1 x_col1,y.col2 y_col2
    from (select id,col1,row_number() over (partition by id order by null /*col1*/) rn
    from table_a
    ) x,
    (select id,col2,row_number() over (partition by id order by col2) rn
    from table_b
    ) y
    where x.id = y.id
    and x.rn = y.rn
    set x_col1 = y_col2
    it gives me an error saying ora-01779 :cannot modify a column which maps to a non key- preserved table. It shows the same even when I add the key to the tables.
    My Database version is Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
    Kindly help.

    Another way, not waterproof too relay on rowid, but in your case it could work.
    You have to verify it by yourself
    update test_a aa
    set col1 =
    (select b.col1 from
    (select
    id, col1
    ,row_number() over
      (partition by id order by col1) rn
    from table_b) b,
    ( select
      rowid, id, col1
    ,row_number() over (partition by id order by col1) sort_order
    from test_a
    ) a
    where
    a.id=b.id
    and
    sort_order = rn
    and
    aa.rowid=a.rowid
    )Edited by: chris227 on 03.04.2013 06:42
    Table name corrected

  • ORA-01427: single-row subquery returns more than one row HELP

    I need to update baemployee.Stock_nbr field with select substr(C.CHECK_DIGIT, 3, 10)
    from EMP_CHECK_DIG c where C.EMPLOYEE = e.EMPLOYEE
    Please help.
    update baemployee e
    set Stock_nbr = (select substr(C.CHECK_DIGIT, 3, 10)
    from EMP_CHECK_DIG c where C.EMPLOYEE = e.EMPLOYEE)
    where exists
    (select C.CHECK_DIGIT
    from EMP_CHECK_DIG c where C.EMPLOYEE = e.EMPLOYEE)
    and exists (select 1 from EMPLOYEE ee where ee.employee = e.employee and ee.emp_status like 'A%');
    ORA-01427: single-row subquery returns more than one row

    Hi,
    Welcome to the forum!
    Whenever you have a question, please post some sample data, so that people can re-create the problem and test their solutions.
    CREATE TABLE and INSERT statements, like the ones below, are great:
    CREATE TABLE      baemployee
    (     employee     NUMBER (4)
    ,     stock_nbr     VARCHAR2 (10)
    INSERT INTO baemployee (employee, stock_nbr) VALUES (1234, 'FUBAR');
    CREATE TABLE     employee
    (     employee     NUMBER (4)
    ,     emp_status     VARCHAR2 (10)
    INSERT INTO employee (employee, emp_status) VALUES (1234, 'ACTIVE');CREATE TABLE AS is good, too:
    CREATE TABLE     emp_check_dig
    AS          SELECT  1234 AS employee, 'AA1234567890ZZZ' AS check_digit     FROM dual
    UNION ALL     SELECT  1234,            'AA2121212121ZZZ'               FROM dual
    ;Also post the results you want from that data. In this case, the results would be the contents of the baemployee table after you run the UPDATE.
    Would you want:
    employee  stock_nbr
    1234       1234567890or would you want
    employee  stock_nbr
    1234       2121212121If you run the UPDATE statement you posted with the data above, you'll get the "ORA-01427: single-row subquery returns more than one row" error, and you can see what causes it: there is more than one row from emp_check_dig that could be used to UPDATE the same row of baemployee. Say what you want to do in this situation (and why), and someone will help you find a way to do it.

  • Essbase Variable with more than a value for use after in Planning forms.

    I want to now if it would be possible to create a variable with more than a value for use after in Planning forms.
    The variable that I want to use is created in Essbase.
    Example:
    &Years = FY08,FY09,FY10

    Hi.
    The only workaround I know for the problem is to create parent in the dimension.
    In your case, create member “planyears”.
    Then you define children that are shard (this are the multiple member for the variables FY08, FY09 etc..)
    Create Essbase sub variable that will have 1 member value “planyears”
    When you use the Sub Variable in form select function “Children” and in that case it will use the member FY08,FY09 etc on the form.
    Limitation: I’m working on version 9.2.0.3 so you can’t create hierarchy in the year dimension, but you can use it in other dimension.
    AE

  • Fill BEx Variable with more than one value via Custom Exit

    Dear SDN comunity,
    I want to fill a BEx Variable via a custom exit. My problem is, I don't know how to fill this variable with more than one value.
    I try to give you some background info based on an exaple:
    <u><b>Variable-Details</b></u>
    <b>Type of Variable:</b> Characteristic Value
    <b>Variable Name:</b> ZCCD
    <b>Description:</b> Company Code Selection
    <b>Processing by:</b> Custom Exit
    <b>Characteristic:</b> Company Code
    <b>Variable Represents:</b> Multiple Single Values
    <u><b>This is the used ABAP code:</b></u>
    WHEN 'ZCCD'.
    CLEAR l_s_range.
    l_s_range-low = '2002;2004'.
    l_s_range-sign = 'I'.
    l_s_range-sign = 'EQ'.
    APPEND l_s_range TO e_t_range.
    <u><b>The system returns this message:</b></u>
    Value "2002;2004" is too long for variable ZCCD
    appreciate your help!
    //michael

    Eugene, Marcus
    it works now, thx a lot!
    Please find attached the final code:
    CLEAR l_s_range.
    l_s_range-low = '2002'.
    l_s_range-sign = 'I'.
    l_s_range-<b>opt</b> = 'EQ'.
    APPEND l_s_range TO e_t_range.
    CLEAR l_s_range.
    l_s_range-low = '2004'.
    l_s_range-sign = 'I'.
    l_s_range-<b>opt</b> = 'EQ'.
    APPEND l_s_range TO e_t_range.
    (Delta to Marcus's code is bold)

  • ORA-13207: incorrect use of the [More than 2D not supported] operator

    Oracle 8.1.7.4:
    The same query works in an Oracle DB on Linux and Windows, but in a Solaris it gives me the following error:
    cc_redes_met_coaxial@ORAG2&gt; SELECT lot_f.lot_id id,
    ROUND(MDSYS.SDO_GEOM.SDO_DISTANCE(lot_geom.geometry, ped_geom.geometry, 0.5),2) dist
    FROM lot_f,
    pedestal_f,
    G_GEOMETRY_0 lot_geom,
    2 G_GEOMETRY_0 ped_geom
    WHERE lot_f.feat_num = lot_geom.feat_num
    3 AND pedestal_f.acc_point_id = 611
    AND pedestal_f.feat_num = ped_geom.feat_num
    4 AND lot_f.g_version+0 = 0
    AND (lot_f.g_next_version &gt; 0 OR lot_f.g_next_version IS NULL)
    5 AND pedestal_f.g_version+0 = 0
    6 AND (pedestal_f.g_next_version &gt; 0 OR pedestal_f.g_next_version IS NULL)
    AND MDSYS.SDO_WITHIN_DISTANCE(lot_geom.geometry, ped_geom.geometry,'distance = 100' ) = 'TRUE';
    7 8 9 10 11 12 13 14 SELECT lot_f.lot_id id,
    ERROR at line 1:
    ORA-29902: error in executing ODCIIndexStart() routine
    ORA-13207: incorrect use of the [More than 2D not supported] operator
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD", line 84
    ORA-06512: at line 1
    The data is in 3D. I took a look at the trace file but no useful information. It does not have to be 2d, right?
    I can use SDO_WITHIN_DISTANCE with data in 3d, can't I?
    Does anyone know what is going on? Maybe a bug?
    Regards,
    Alex

    Daniel,
    I created the spatial index in 2d, but if I collect stats on all tables the optimizer doesn't use the spatial index.
    I tried to influence the optimizer using hints, but it seems to ignore the hint clause. The query I did is above:
    SELECT /*+ INDEX(lot_geom G_GEOMETRY_0_SI) INDEX(ped_geom G_GEOMETRY_0_SI) */
         lot_f.lot_id id,
    ROUND(MDSYS.SDO_GEOM.SDO_DISTANCE(lot_geom.geometry, ped_geom.geometry, 0.5),2) dist
    FROM lot_f,
    pedestal_f,
    G_GEOMETRY_0 lot_geom,
    G_GEOMETRY_0 ped_geom
    WHERE lot_f.feat_num = lot_geom.feat_num
    AND pedestal_f.acc_point_id = 611
    AND pedestal_f.feat_num = ped_geom.feat_num
    AND lot_f.g_version+0 = 0
    AND (lot_f.g_next_version > 0 OR lot_f.g_next_version IS NULL)
    AND pedestal_f.g_version+0 = 0
    AND (pedestal_f.g_next_version > 0 OR pedestal_f.g_next_version IS NULL)
    AND MDSYS.SDO_WITHIN_DISTANCE(lot_geom.geometry, ped_geom.geometry,
    'distance = 100' ) = 'TRUE';
    So I "forced" a plan that uses the spatial indexes deleting the statistics from the tables that have geometry columns. The execution plan looks like this:
    Execution Plan
    0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2652 Card=10182 Bytes=79969428)
    1 0 CONCATENATION
    2 1 NESTED LOOPS (Cost=876 Card=3428 Bytes=26923512)
    3 2 NESTED LOOPS (Cost=121 Card=1078 Bytes=8450442)
    4 3 NESTED LOOPS (Cost=4 Card=33 Bytes=129492)
    5 4 TABLE ACCESS (FULL) OF 'PEDESTAL_F' (Cost=1 Card=1 Bytes=16)
    6 4 TABLE ACCESS (BY INDEX ROWID) OF 'G_GEOMETRY_0' (Cost=3 Card=3268 Bytes=12771344)
    7 6 INDEX (RANGE SCAN) OF 'G_GEOMETRY_0_PRIMARY' (UNIQUE) (Cost=2 Card=3268)
    8 3 TABLE ACCESS (BY INDEX ROWID) OF 'G_GEOMETRY_0' (Cost=121 Card=3268 Bytes=12794220)
    9 8 DOMAIN INDEX OF 'G_GEOMETRY_0_SI' (Cost=51)
    10 2 TABLE ACCESS (BY INDEX ROWID) OF 'LOT_F' (Cost=1 Card=318 Bytes=4770)
    11 10 INDEX (RANGE SCAN) OF 'GI_LOT_F0_FEAT_NUM_0' (UNIQUE) (Cost=1 Card=318)
    12 1 NESTED LOOPS (Cost=876 Card=3428 Bytes=26923512)
    13 12 NESTED LOOPS (Cost=121 Card=1078 Bytes=8450442)
    14 13 NESTED LOOPS (Cost=4 Card=33 Bytes=129492)
    15 14 TABLE ACCESS (FULL) OF 'PEDESTAL_F' (Cost=1 Card=1 Bytes=16)
    16 14 TABLE ACCESS (BY INDEX ROWID) OF 'G_GEOMETRY_0' (Cost=3 Card=3268 Bytes=12771344)
    17 16 INDEX (RANGE SCAN) OF 'G_GEOMETRY_0_PRIMARY' (UNIQUE) (Cost=2 Card=3268)
    18 13 TABLE ACCESS (BY INDEX ROWID) OF 'G_GEOMETRY_0' (Cost=121 Card=3268 Bytes=12794220)
    19 18 DOMAIN INDEX OF 'G_GEOMETRY_0_SI' (Cost=51)
    20 12 TABLE ACCESS (BY INDEX ROWID) OF 'LOT_F' (Cost=1 Card=318 Bytes=4770)
    21 20 INDEX (RANGE SCAN) OF 'GI_LOT_F0_FEAT_NUM_0' (UNIQUE) (Cost=1 Card=318)
    But when I executed the query, I got:
    cc_redes_met_coaxial@ORAG2> /
    ROUND(MDSYS.SDO_GEOM.SDO_DISTANCE(lot_geom.geometry, ped_geom.geometry, 0.5),2) dist
    ERROR at line 2:
    ORA-03113: end-of-file on communication channel
    Collecting stats on geometry tables makes the query work only because it doesn't use the spatial index.
    I took a look the trace file, but I didn't see any interesting information. I can send you if you want.
    Do you have any clue?
    Regards,
    Alex

  • Further to requiring more than 3Gig of Memory

    I thought users would find this interesting and maybe a person familiar canshed some light on this subject.
    I have a 20 minute video with a combo of Pictures/ Sony HDV Video/ Shake and Motion. Producing an IDVD movie works fine however when I try to compress it to "H.264 60 minute default" there is FCP crashing and the compression terminates. In watching the RAM usage I notice a couple of things. First the Page outs are Zero until suddenly after about 6000-8000 frames the page outs grow rapidly and the Green RAM indicator shrink from 2 gigs free to virtually 30-60 megs and the page outs grow to the hunders of thousands. Sometime after this happens the FCP application will crash. Second, I have also noticed that the Compressord shows up from the time I start the process and shows red..."not responding". The Final Cut thread also moves in and out from Not responding. It almost appears as though the Compression processes faster than the computer can handle and then gives up. I Realize I require more than 3 Gigs of Ram but my previous IMAC never crashed doing a similar priocess with 2 Gig or Ram.
    MAC PRO   Mac OS X (10.4.9)   FCP 5.1.4
    MAC PRO   Mac OS X (10.4.7)  

    FCP RAM requirements, and for that matter, those of "Pro" apps, far exceed the memory needed for the likes of iMovie. All of the iLife apps are written in a way as to work across the board on Apples product line. The Pro apps are engineered to operate like they should...... capable of using a ton of memory, and expecting it. When they don't get it, they resort to paging to the hard drive. You may be able to "cripple" FCP by lowering the memory usage in Preferences, but why would you use a program with all that horsepower, and not feed it the memory it needs? If it works in iMovie, I would use it until you can add the appropriate amount of RAM the article hatter posted suggests. Just my two cents....
    Michael

  • How to perform Text length more than 4000 bytes

    I want to read each row from txt file
    and used utl_file pacage to concat contents into a variable,
    the variable datatype is varchar2(4000), so text length can't more than 4000 bytes,
    but I wish get full text from txt file, How can I do?

    Thans! Detlev.
    I have a code :
    PROCEDURE read_file( path in varchar2, filename in varchar2, msg in out varchar2) AS
    data_line varchar2(4000);
    ifile utl_file.file_type;
    BEGIN
    ifile := utl_file.fopen(path,filename,'R');
    LOOP
    utl_file.get_line( ifile, data_line);
    msg := msg | | rtrim(data_line);
    END LOOP;
    utl_file.fclose(ifile);
    EXCEPTION
    WHEN no_data_found THEN
    utl_file.fclose(ifile);
    END;
    My question is
    1. The msg length can't more than 4000
    2. I use utl_raw.cast_to_raw function, that can't cast varchar2 to raw if varchar2 length more than 2048
    3. If I want to change the data type varchar2 to raw,
    the utl_raw.concat function can't use Loop ....end loop clause,
    So that only use utl_raw.concat(ra1, ra2,ra3,ra4,ra5, ... ra12)
    I want to concat all line to a raw datatype from text file , How can I do?

  • How to get more than 256 bytes data

    hello.
    I use Schlumberger 32K Card�iJava Card 2.1�j.
    Please tell me how to get more than 256 bytes data from the applet in the card!!
    According to JCRE specification, need to use Get Response Command.
    What is Get Response command?
    Do I have to write processing of Get Response command to an applet?
    Or JCRE processes Get Response command?
    If knows, please tell me about!!
    Thanks.

    Thanks for your response!!
    I understand that I have to write processing of Get Response command to an applet.
    But case of Schlumberger 32K card, when host send Get Response command to an applet, card reply 6F-00!?
    I'm investigating now, and it seems that response is returned before applet processes Get Response command(CLA = 00, INS = C0).
    Do JCRE perform the process of Get Response command?

  • Writing all the rows in one line but cannot write more than 32767 character

    Dear All,
    i am trying to write the column of a table to a file with the '||' seperators. i want to write all the rows in one line of the file.
    for E.g
    Column1 Column2
    A B
    C D
    in the file the output needs to be gone like
    A||B||C||D
    but after 32767 character it gives a write error. could please someone let me know what is wrong with my function below or how can i write more than 32767 character in one one.
    CREATE OR REPLACE FUNCTION CORP_IB_DUMP_FILE (
    P_QUERY IN VARCHAR2,
    P_SEPARATOR IN VARCHAR2 DEFAULT '',
    P_DIR IN VARCHAR2,
    P_FILENAME IN VARCHAR2
    RETURN NUMBER AUTHID CURRENT_USER
    IS
    L_OUTPUT UTL_FILE.FILE_TYPE;
    L_THECURSOR INTEGER DEFAULT DBMS_SQL.OPEN_CURSOR;
    L_THECURSOR2 INTEGER DEFAULT DBMS_SQL.OPEN_CURSOR;
    L_COLUMNVALUE VARCHAR2 (4000);
    L_STATUS INTEGER;
    L_COLCNT NUMBER DEFAULT 0;
    L_SEPARATOR VARCHAR2 (10) DEFAULT '';
    L_CNT NUMBER DEFAULT 0;
    BEGIN
    L_OUTPUT := UTL_FILE.FOPEN (P_DIR, P_FILENAME, 'w', 32767);
    DBMS_SQL.PARSE (L_THECURSOR, P_QUERY, DBMS_SQL.NATIVE);
    FOR I IN 1 .. 255
    LOOP
    BEGIN
    DBMS_SQL.DEFINE_COLUMN (L_THECURSOR, I, L_COLUMNVALUE, 4000);
    L_COLCNT := I;
    EXCEPTION
    WHEN OTHERS
    THEN
    IF (SQLCODE = -1007)
    THEN
    EXIT;
    ELSE
    RAISE;
    END IF;
    END;
    END LOOP;
    DBMS_SQL.DEFINE_COLUMN (L_THECURSOR, 1, L_COLUMNVALUE, 4000);
    L_STATUS := DBMS_SQL.EXECUTE (L_THECURSOR);
    LOOP
    EXIT WHEN (DBMS_SQL.FETCH_ROWS (L_THECURSOR) <= 0);
    L_SEPARATOR := '';
    FOR I IN 1 .. L_COLCNT
    LOOP
    DBMS_SQL.COLUMN_VALUE (L_THECURSOR, I, L_COLUMNVALUE);
    UTL_FILE.PUT (L_OUTPUT, L_SEPARATOR || L_COLUMNVALUE);
    L_SEPARATOR := P_SEPARATOR;
    UTL_FILE.FFLUSH (L_OUTPUT);
    END LOOP;
    UTL_FILE.FFLUSH (L_OUTPUT);
    L_CNT := L_CNT + 1;
    END LOOP;
    DBMS_SQL.CLOSE_CURSOR (L_THECURSOR);
    UTL_FILE.FCLOSE (L_OUTPUT);
    RETURN L_CNT;
    END CORP_IB_DUMP_FILE;
    /

    user577300 wrote:
    Dear All,
    i am trying to write the column of a table to a file with the '||' seperators. i want to write all the rows in one line of the file.
    for E.g
    Column1 Column2
    A B
    C D
    in the file the output needs to be gone like
    A||B||C||D
    but after 32767 character it gives a write error. could please someone let me know what is wrong with my function below or how can i write more than 32767 character in one one.
    CREATE OR REPLACE FUNCTION CORP_IB_DUMP_FILE (
    P_QUERY IN VARCHAR2,
    P_SEPARATOR IN VARCHAR2 DEFAULT '',
    P_DIR IN VARCHAR2,
    P_FILENAME IN VARCHAR2
    RETURN NUMBER AUTHID CURRENT_USER
    IS
    L_OUTPUT UTL_FILE.FILE_TYPE;
    L_THECURSOR INTEGER DEFAULT DBMS_SQL.OPEN_CURSOR;
    L_THECURSOR2 INTEGER DEFAULT DBMS_SQL.OPEN_CURSOR;
    L_COLUMNVALUE VARCHAR2 (4000);
    L_STATUS INTEGER;
    L_COLCNT NUMBER DEFAULT 0;
    L_SEPARATOR VARCHAR2 (10) DEFAULT '';
    L_CNT NUMBER DEFAULT 0;
    BEGIN
    L_OUTPUT := UTL_FILE.FOPEN (P_DIR, P_FILENAME, 'w', 32767);
    DBMS_SQL.PARSE (L_THECURSOR, P_QUERY, DBMS_SQL.NATIVE);
    FOR I IN 1 .. 255
    LOOP
    BEGIN
    DBMS_SQL.DEFINE_COLUMN (L_THECURSOR, I, L_COLUMNVALUE, 4000);
    L_COLCNT := I;
    EXCEPTION
    WHEN OTHERS
    THEN
    IF (SQLCODE = -1007)
    THEN
    EXIT;
    ELSE
    RAISE;
    END IF;
    END;
    END LOOP;
    DBMS_SQL.DEFINE_COLUMN (L_THECURSOR, 1, L_COLUMNVALUE, 4000);
    L_STATUS := DBMS_SQL.EXECUTE (L_THECURSOR);
    LOOP
    EXIT WHEN (DBMS_SQL.FETCH_ROWS (L_THECURSOR) <= 0);
    L_SEPARATOR := '';
    FOR I IN 1 .. L_COLCNT
    LOOP
    DBMS_SQL.COLUMN_VALUE (L_THECURSOR, I, L_COLUMNVALUE);
    UTL_FILE.PUT (L_OUTPUT, L_SEPARATOR || L_COLUMNVALUE);
    L_SEPARATOR := P_SEPARATOR;
    UTL_FILE.FFLUSH (L_OUTPUT);
    END LOOP;
    UTL_FILE.FFLUSH (L_OUTPUT);
    L_CNT := L_CNT + 1;
    END LOOP;
    DBMS_SQL.CLOSE_CURSOR (L_THECURSOR);
    UTL_FILE.FCLOSE (L_OUTPUT);
    RETURN L_CNT;
    END CORP_IB_DUMP_FILE;
    /Check your logic very carefully. You are using UTL_FILE.PUT() which should not automatically put end-of-line characters i n your file but you are reassigning l_seperator with p_seprator after the first time.
    What value are you pasising in as p_seperator?
    UTL_FILE.PUT() should allow you to write a string of bytes without newlines as long as its arguments are less than 32K, and you can control when the newlines get written. If your arguments are > 32K can you split them up without writing the newlines until you need to do so? Try something like (untested)
    --         UTL_FILE.PUT (L_OUTPUT, L_SEPARATOR || L_COLUMNVALUE);
               UTL_FILE.PUT (L_OUTPUT, substr(L_SEPARATOR || L_COLUMNVALUE,1,32767));
               UTL_FILE.PUT (L_OUTPUT, substr(L_SEPARATOR || L_COLUMNVALUE),32767*2-1,32767));Edited by: riedelme on Sep 10, 2012 6:11 AM

  • IVI_Scope Read more than 32767 points

    Hi TestStand Developers,
    I need to perform a read measurement with TestStand / IVI_Scope Read and a PXI-5922 /32 Mbytes but when I ask for more than 32767 "min num points" I encounter the following error :
    Error, Error executing substep 'Post'. An exception occurred calling 'RunStep' in 'ISubstep' of 'TestStand Ivi Step Types' An error occurred while executing the step. VB Error: The IVI Read operation failed on channel 'CH0' for logical name 'ScopeDiff'. Details: An error occurred while attempting to save measurement data to property 'Step.Result.Reading'. Source: TSIviStepTypes [Error Code: -2146828282, User-defined error code.
    I don't have such a problem when I'm using LabVIEW.
    Is it possible to push the IVI/TestStand limit of 32767 point or is there any solution to by-pass it.
    I have tryed to use several niscope_32.dll functions like "niScope_Read" or "niScope_ReadWaveform" but it seems not very easy to get the data array back.
    Could you please help me to avoid using only LabVIEW libraries ?
    Thanks in advance,
          Emmanuel

    Emmanuel -
    This appears to be a bug in the IVI step types code. There is code that attempts to normalize the array dimensions for the array in the TestStand result and it uses a VB CInt() macro instead of CLng() macro when determining the upper array bound from the string returned from GetDimensions API call.  What version of TestStand are you using?
    Scott Richardson
    National Instruments

Maybe you are looking for

  • Cisco DVR constantly loses subscription infomration

    I just "upgraded" to the Cisco DVR, and I'm finding that it frequently (like several times an evening) pops up a message indicating "You are not subscribed to"" whatever channel I'm watching. So I go through the troubleshooting, or reboot the box, or

  • Execute immediate 'alter session set current_schema = ' failed in PL/SQL

    Hi I am trying to run EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA = TEST ' ; in a pl/sql block but it is failing.Can anyone update me on this. CREATE OR REPLACE PROCEDURE test3 IS A_COUNT NUMBER(15); BEGIN EXECUTE IMMEDIATE 'ALTER SESSION SET

  • Search Driven Document Management System

    Hi Everyone,i am currently working on a project where we need to manage Company Documents in SharePoint 2013. and we are planning to use SharePoint 2013 Search for the portal. The structure is, we have a web application with a root site Collection an

  • SWF TO .FLA???

    Hi all: Suppose I have a swf file and I want to obtain the .fla file and the actionscript .as files that generated that swf file, Is it possible? How? a tool? And one more question Can I interact with SIM native properties ( like reading ID data...)?

  • Using the histogram and RGB values in camera raw

    This question was posted in response to the following article: http://help.adobe.com/en_US/photoshopelements/using/WS287f927bd30d4b1f5548d97812e28a69a90- 7ff4.html