ORA-24801 when using Dataset.Fill

I'm getting and exception ORA-24801 when I call the Dataset Fill method as per the following example.
The stored procedure takes 3 parameters. This error does not occur when calling another procedure which does not return CLOBs. Any ideas ??
oCommand.CommandText = "JBS_REPORT_002.Build";
oCommand.CommandType = CommandType.StoredProcedure;
OracleDataAdapter da = new OracleDataAdapter(oCommand);
OracleCommandBuilder builder = new OracleCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds);
Database is 8.1.7

Thanks for the reply.
firstly we have not tried on 9.2 and this is not an option.
Secondly the problem can be replicated without a stored procedure as per follows. If there is a CLOB field it fails.
string commandStr = "SELECT * FROM MYTABLE";
OracleDataAdapter adapter = new OracleDataAdapter (commandStr, conn);
try
OracleCommandBuilder builder = new OracleCommandBuilder(adapter);
DataSet ds = new DataSet();
adapter.Fill(ds,"MYTABLE");
catch(OracleException e){}

Similar Messages

  • When using the "Fill & Sign PDF" feature, is there a way to stretch to size the text box, for a specific area on the page...instead of it going on in one straight long line...?

    When using the "Fill & Sign PDF" feature, is there a way to stretch to size the text box on a specific area of the page...instead of the text box going on in one straight long line....? I'm not seeing there's an option or ability to do so, just wanting to confirm.

    Improving the handling of multiple line text fields is in our plans, but for now, you will have to add manual carriage returns (Enter).
    Thanks,
    Josh

  • URGENT : ORA 302000 when using TEXT_IO.fopen

    Hi,
    I get this error ORA 302000 when using TEXT_IO package, the code I use is
    new_file:=text_io.fopen('c:\text.txt','r')
    i don't have the description of this ORA 302000 , pls does anyone have it?

    Hi,
    I know it's been 2 years but it's still up to date for me.
    I tried the suggested piece of code to trace the error but it did not bring anything more
    EXCEPTION
    When Others then
    srw.Message( 2, 'EXCEPTION ' || SQLCODE || ' in common package. Can not open the file ');
    IF SQLCODE = -302000 then
    LOOP
    EXIT WHEN TOOL_ERR.NERRORS = 0;
    SRW.MESSAGE( 667, TO_CHAR(TOOL_ERR.CODE) || ': ' || TOOL_ERR.MESSAGE);
    TOOL_ERR.POP;
    END LOOP;
    END IF;
    srw.Message( 3, 'EXCEPTION ' || SQLCODE || ' in com package. Can not open the file ' || I_Desname || ' : ' || SQLERRM );
    Only Message 2 and 3 are displayed in the trace file
    Any other suggestion?
    Manu

  • Error ORA-06502 When using function REPLACE in PL/SQL

    Hi,
    I have a PL/SQL procedure which gives error 'Error ORA-06502 When using function REPLACE in PL/SQL' when the string value is quite long (I noticed this with a string 9K in length)
    variable var_a is of type CLOB
    and the assignment statement where it gives the error is
    var_a := REPLACE(var_a, '^', ''',''');
    Can anyone please help!
    Thanks

    Even then that shouldn't do so:
    SQL> select overload, position, argument_name, data_type, in_out
      2  from all_arguments
      3  where package_name = 'STANDARD'
      4  and object_name = 'LPAD'
      5  order by 1,2
      6  /
    OVERLOAD   POSITION ARGUMENT_NAME                  DATA_TYPE                      IN_OUT
    1                 0                                VARCHAR2                       OUT
    1                 1 STR1                           VARCHAR2                       IN
    1                 2 LEN                            BINARY_INTEGER                 IN
    1                 3 PAD                            VARCHAR2                       IN
    2                 0                                VARCHAR2                       OUT
    2                 1 STR1                           VARCHAR2                       IN
    2                 2 LEN                            BINARY_INTEGER                 IN
    3                 0                                CLOB                           OUT
    3                 1 STR1                           CLOB                           IN
    3                 2 LEN                            NUMBER                         IN
    3                 3 PAD                            CLOB                           IN
    4                 0                                CLOB                           OUT
    4                 1 STR1                           CLOB                           IN
    4                 2 LEN                            NUMBER                         INI wonder what happened?

  • Database login windows when using DataSet ( CR2008 )

    After executing this code, I get a database login window when using a DataSet, wondering why I am asked for user/pwd when using DataSets.

    Thanks Jonathan for the tip. I tried it before and after the setDatabaseLogin call yesterday, but got the same results. I'm still going to follow your suggestion because that makes more sense.
    Turns out it was the configuration of my ODBC/System DSN that was causing the problem. I reconfigured the System DSN by clearing the check box to provide username/password and now I don't get the Database Login anymore.
    I found a different blog post that answered the OLE DB issue I was seeing where the DatabaseName was coming up blank:
    Login Error Database at Runtime
    Haven't tried it yet and probably won't because I got the Viewer to work with ODBC the way I like it.
    Thanks for the help!

  • ORA-03113 when using connect by in a report query ?

    Hi,
    Oracle 10g r2, ApEx 4.0.2.
    I have a classic report on page zero, I need the following query to display my data :
    select
         distinct '<input class="radio_report_search_photos" name="radio_selected_photo" type="radio" />' as "Sel",
         phot_id,
         phot_description,
         '<img alt="" id="thumb_'||phot_id||'" class="clickable_thumb" src="#OWNER#.show_photo?v_id_photo='||phot_id||'" />' as "Thumb",
         substr(SYS_CONNECT_BY_PATH(kw_text, ', '),3) keyword_list
    from
         select
              phot_id,
              phot_description,
              kw_id,
              kw_text,
              pkw_kw_id,
              pkw_phot_id,
              count(*) OVER(partition by phot_id ) cnt,
              ROW_NUMBER() OVER(partition by phot_id order by kw_text) seq
         from
              photos,
              photos_keywords,
              keywords
         where
              phot_id = pkw_phot_id
              and pkw_kw_id = kw_id
              and contains(kw_text,nvl(:P0_SEARCH_PHOTO_KW,'%')) > 0
    where
         seq = cnt
    start with
         seq = 1
    connect by prior
         seq+1 = seq
    and prior
         phot_id = phot_idIt works great when executing from any software. I get the expected results.
    But yhen I try to put it in the report region source, I get an ORA-03113 when I apply changes...
    It works if I remove CONNECT BY PRIOR and SYS_CONNECT_BY_PATH from the query.
    Why ?
    Thanks.
    Details :
    url : https://my_host.ch/pls/htmldb_dev/wwv_flow.accept
    Error :
    Fri, 22 Jul 2011 09:25:38 GMT
    ORA-03113: end-of-file on communication channel

    OK I now use xmlagg & xmlelement instead of connect by.
    Sorry for not providing any solution.
    Yann.

  • ORA-01194 and ORA-00604 when using backup controlfile set #2

    Database version Oracle 11.2.0.1
    Enterprise Linux 5.4
    Database is in archivelog mode.
    I'm trying to recover a database according to set #2 of a backup controlfile to trace. Creating the controlfile works fine, but recovering the database fails.
    From what I can gather, the recovery fails because it cannot roll forward - sequence 39 is in the missing online redo logfile. However, the database is opened with the restlogs option, and I understand that it should use the archivelogs in order to roll backwards. Since this is a new controlfile it does not know about archivelogs, but it does not accept to register or use any archivelog files.
    The recovery as outlined in set #2 does not seem to work as advertised. Any ideas?
    Following errors:
    SQL>  CREATE CONTROLFILE REUSE DATABASE "RCAT" RESETLOGS  ARCHIVELOG etc.
    Control file created.
    Tyring to register on of the archivelogs does not work:
    SQL>  ALTER DATABASE REGISTER LOGFILE '/u02/fra/RCAT/archivelog/2010_09_19/o1_mf_1_33_69bfo5tx_.arc';
    ALTER DATABASE REGISTER LOGFILE '/u02/fra/RCAT/archivelog/2010_09_19/o1_mf_1_33_69bfo5tx_.arc'
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level
    Applying an existing archivelog during recovery does not work:
    SQL> recover database using backup controlfile until cancel
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    /u02/fra/RCAT/archivelog/2010_09_19/o1_mf_1_33_69bfo5tx_.arc
    ORA-00310: archived log contains sequence 33; sequence 39 required
    ORA-00334: archived log:
    '/u02/fra/RCAT/archivelog/2010_09_19/o1_mf_1_33_69bfo5tx_.arc'
    ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: '/u02/RCAT/datafile/o1_mf_system_6959kz7l_.dbf'
    ls -l /u02/fra/RCAT/archivelog/2010_09_19:
    -rw-r----- 1 oracle dba 49313280 Sep 19 00:01 o1_mf_1_33_69bfo5tx_.arc
    -rw-r----- 1 oracle dba   312320 Sep 19 00:03 o1_mf_1_34_69bft63b_.arc
    -rw-r----- 1 oracle dba 20343808 Sep 19 02:10 o1_mf_1_35_69bo6y6j_.arc
    -rw-r----- 1 oracle dba    40960 Sep 19 02:12 o1_mf_1_36_69boc9t8_.arc
    -rw-r----- 1 oracle dba    20992 Sep 19 02:13 o1_mf_1_37_69bofng4_.arc
    -rw-r----- 1 oracle dba   794624 Sep 19 02:15 o1_mf_1_38_69bokwbf_.arcThanks,
    Markus

    Specifying sequence 39 results in the same error message, which is what is what it tries to apply when using "recover until cancel" and typing cancel. But the problem is that sequence 39 was in the online redologs, which were not archived yet.
    SQL> select name, first_change#,next_change# from v$archived_log;
    NAME                                        FIRST_CHANGE# NEXT_CHANGE#
    /u02/fra/RCAT/archivelog/2010_09_19/o1_mf_1_34_69bft63b_.arc        1259096     1259295
    /u02/fra/RCAT/archivelog/2010_09_19/o1_mf_1_37_69bofng4_.arc        1269876     1269935
    /u02/fra/RCAT/archivelog/2010_09_19/o1_mf_1_35_69bo6y6j_.arc        1259295     1269766
    /u02/fra/RCAT/archivelog/2010_09_19/o1_mf_1_36_69boc9t8_.arc        1269766     1269876
    /u02/fra/RCAT/archivelog/2010_09_19/o1_mf_1_38_69bokwbf_.arc        1269935     1270557
    /u02/fra/RCAT/archivelog/2010_09_19/o1_mf_1_33_69bfo5tx_.arc        1241003     1259096
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_21_699l4tkj_.arc        1215727     1215730
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_24_699s5pj8_.arc        1215736     1224966
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_26_699s5rp4_.arc        1224969     1224972
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_15_6987rbqp_.arc        1174393     1174511
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_23_699l4xng_.arc        1215733     1215736
    NAME                                        FIRST_CHANGE# NEXT_CHANGE#
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_28_699s5tqt_.arc        1224975     1224987
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_22_699l4w5r_.arc        1215730     1215733
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_29_699s5vw2_.arc        1224987     1224990
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_19_699l4or0_.arc        1215721     1215724
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_25_699s5qd6_.arc        1224966     1224969
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_30_699s5yvs_.arc        1224990     1224999
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_27_699s5stf_.arc        1224972     1224975
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_32_69b2hgvz_.arc        1225003     1241003
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_17_699k5oxl_.arc        1194778     1209476
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_16_699jsxol_.arc        1174511     1194778
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_20_699l4rx2_.arc        1215724     1215727
    NAME                                        FIRST_CHANGE# NEXT_CHANGE#
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_18_699l4msq_.arc        1209476     1215721
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_14_6987mljx_.arc        1162149     1174393
    /u02/fra/RCAT/archivelog/2010_09_18/o1_mf_1_31_699s61sr_.arc        1224999     1225003
    25 rows selectedHow does it actually know about all the archivelogs?
    Edited by: Markus Waldorf on Sep 20, 2010 8:37 AM

  • ORA-15072 when using external redenacy?

    Hello -
    I am getting ORA-15072 (command required at least one failure groups) when using external redundancy. I am using asmlib on Linux, and I have a feeling that it it a multipathing issue. Here are the output from some of my commands:
    [root@ctolinuxpoc01 init.d]# ./oracleasm listdisks
    VOL1
    VOL10
    VOL11
    VOL12
    VOL2
    VOL3
    VOL4
    VOL5
    VOL6
    VOL7
    VOL8
    VOL9
    SQL> select name, path, state from v$asm_disk;
    NAME
    PATH
    STATE
    ORCL:VOL1
    NORMAL
    ORCL:VOL2
    NORMAL
    NAME
    PATH
    STATE
    ORCL:VOL3
    NORMAL
    ORCL:VOL4
    NAME
    PATH
    STATE
    NORMAL
    Why would I be getting ORA-15072 with external redundancy (using asmlib)?
    Thanks in andvance!
    Mike

    The header status is showing as "unknown"... Could this be part of the issue?
    Thanks,
    Mike

  • Sqlldr producing ora-1008 when using conventional mode

    On 9.2.0.8 Solaris 9,
    When performing the load using direct mode it works. only when using conventional mode i get the error.
    any ideas?
    10x,

    Don't use reserved words (CHAR,which is a format specification) as column names:
    http://download.oracle.com/docs/cd/E11882_01/server.112/e22490/ldr_field_list.htm#i1015797

  • Crystal Report Many to One Query Config error when using DataSet.ReadXML me

    When I build a dataset with this method numerous relations are automatically created. I then map these fields onto crystal reports with ADO.net data connection. However when I run the report the following error occurs:
    CrystalDecisions.CrystalReports.Engine.InternalException: Cannot determine the queries necessary to get data for this report.Details:
    This query cannot be performed. The link order requires many to one query configuration, which is not supported. Please rearrange the links.
    If I remove the links (relations) i get duplicate data on the report. Is there any way to resolve this or a patch for the error?

    Hello, Mervin;
    Since you are using ADO.NET dataset, is it possible to get all of the fields you need in one SQL Query outside of Crystal Reports?
    If that is possible, you can use that dataset to create an XML or XSD file to use as the structure for your report.
    VB
    'Using the full path to the .xml file, include the schema
    dataSet.WriteXml("C:\temp\test.xml", XmlWriteMode.WriteSchema)
    or
    dataSet.WriteXmlSchema("c:\temp\testXML.xsd")
    Now create a new report with the ADO.NET(XML) connection and point to either the XML or XSD you created. XML is useful because you can view data in the report designer for final formatting of the report.
    Now there is only one datasource and no linking is required in Crystal Reports. That should resolve the one to many issue.
    Another useful tool is to group on the many and place all the fields normally in the detail section into that group header. Suppress the Detail and Group footer sections. The Group Header will now look like a Detail section and each distinct value will only appear once. You can group on one field or a combination (using a formula field) to get the results you need. Test this to be sure you do not miss anything you want to see.
    Elaine

  • ORA-12154 when using Database Link

    We're running 11r2 on our servers. I have a primary db and a standby db, using Data Guard. The standby is open for read-only querying. We are not using ASM.
    The primary (and thus the standby) have a PUBLIC database link to a third db server.
    When I run a query against the database link on the primary: select * from test@MyDBlink; Everything works fine.
    When I run the same query against the database link on the standby: select * from test@MyDBlink; I get ORA-12154: TNS:could not resolve the connect identifier.
    I check that the db link exists on the standby. It does.
    I go to command prompt on the standby and run "tnsping MyDBlink". It executes fine. It says "Used TNSNAMES adapater to resolve the alias" and sure enough, MyDBlink is referenced in the TNSNAMES.ORA.
    I also run "tnsping IP-of-MyDBlink" to doublecheck. No issues.
    What is going on that is blocking the db link on the standby? Many reports utilize that standby and I'd hate to deny them the functionality of a db link.
    Thanks

    893968 wrote:
    We're running 11r2 on our servers. I have a primary db and a standby db, using Data Guard. The standby is open for read-only querying. We are not using ASM.
    The primary (and thus the standby) have a PUBLIC database link to a third db server.
    When I run a query against the database link on the primary: select * from test@MyDBlink; Everything works fine.
    When I run the same query against the database link on the standby: select * from test@MyDBlink; I get ORA-12154: TNS:could not resolve the connect identifier.
    I check that the db link exists on the standby. It does.
    I go to command prompt on the standby and run "tnsping MyDBlink". It executes fine. It says "Used TNSNAMES adapater to resolve the alias" and sure enough, MyDBlink is referenced in the TNSNAMES.ORA.
    I also run "tnsping IP-of-MyDBlink" to doublecheck. No issues.
    What is going on that is blocking the db link on the standby? Many reports utilize that standby and I'd hate to deny them the functionality of a db link.
    ThanksMost people with this problem don't understand that the dblink is just another client, no different than sqplus running on the same machine - and therefore the link uses the tnsames in the ORACLE_HOME of the database containing the link. But it seems from the steps you've described that you've grasped that. The only thing I can think of off the top of my head is when you try sqlplus from the standby server you are hitting a different tnsnames than the one the database is using.

  • ORA-06512 when using DBMS_DATAPUMP.OPEN

    Hi,
    we're using 10.2.0.3 SE1 on 32 Bit XP Prof. with SP2 and are trying to use dbms_datapump over the network.
    When we call the OPEN procedure within a Package we get a
    ORA-31626: job does not exist
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
    ORA-06512: at "SYS.KUPV$FT_INT", line 430
    ORA-31638: cannot attach to job SNAPSHOT_JOB for user PHX_SYNC_DZ
    ORA-31632: master table "PHX_SYNC_DZ.SNAPSHOT_JOB" not found, invalid, or inaccessible;
    ORA-00942: table or view not foundWhen we use an anonymous pl/sql block the open works.
    The User phx_sync_dz has been granted imp_full_database and exp_full_database.
    Does anyone know a solution for that?
    Dim

    I found the solution. DDL rights have been granted by roles. So the user had simply not the rights to create the create the Mastertable.
    A grant create table was enough and it worked.
    Dim

  • ORA-06502 When using MAX(Column) with %TYPE

    Hi Guys,
    Just had this discussion on the main database forums, and the problem was somewhat resolved. But they did ask me to check here if this was a known issue.
    Assuming I have a table defined as follows
    CREATE TABLE TEST_TABLE (TEST_COLUMN CHAR(8 BYTE)) ;and the table only has a single record NZ07100S
    We also define a function as
    CREATE OR REPLACE FUNCTION
    FUNCTION GETTESTVALUE
    RETURN TEST_TABLE.TEST_COLUMN%TYPE
    IS
    TEST_VALUE TEST_TABLE.TEST_COLUMN%TYPE;
    BEGIN
    SELECT MAX(TEST_COLUMN) INTO TEST_VALUE FROM TEST_TABLE;
    RETURN TEST_VALUE;
    END;We ran the following command
    SELECT GETTESTVALUE FROM DUAL;and receive an error as follows
    Error report:
    SQL Error: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at "GETTESTVALUE", line 6
    06502. 00000 - "PL/SQL: numeric or value error%s"However, if were to modify the function to the following
    CREATE OR REPLACE FUNCTION
    FUNCTION GETTESTVALUE
    RETURN TEST_TABLE.TEST_COLUMN%TYPE
    IS
    TEST_VALUE TEST_TABLE.TEST_COLUMN%TYPE;
    BEGIN
    SELECT TEST_COLUMN INTO TEST_VALUE FROM TEST_TABLE;
    RETURN TEST_VALUE;
    END;There is no error reported and the value NZ07100S is returned.
    Of course, when we modified the function to be
    CREATE OR REPLACE FUNCTION
    FUNCTION GETTESTVALUE
    RETURN TEST_TABLE.TEST_COLUMN%TYPE
    IS
    TEST_VALUE TEST_TABLE.TEST_COLUMN%TYPE;
    BEGIN
    SELECT CAST(MAX(TEST_COLUMN) AS CHAR(8))INTO TEST_VALUE FROM TEST_TABLE;
    RETURN TEST_VALUE;
    END;No errors are reported, and the value is returned
    Some of the guys in the main forums tried this out on Enterprise edition and did not encounter any issues. To faciliate their testing, I spooled the sqlsplus output and it is as follows
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for Linux: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SQL> create table test_table (test_column char(8 byte));
    Table created.
    SQL> insert into test_table
      2       values ('NZ07100S');
    1 row created.
    SQL> commit
      2  /
    Commit complete.
    SQL> create or replace function gettestvalue
      2      return test_table.test_column%type
      3  is
      4     test_value   test_table.test_column%type;
      5  begin
      6     select max(test_column) into test_value from test_table;
      7  return test_value;
      8  end;
      9  /
    Function created.
    SQL> select gettestvalue from dual
      2  /
    select gettestvalue from dual
    ERROR at line 1:
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at "JEGA.GETTESTVALUE", line 6
    SQL> spool offAt the request of one of the posters, the following was also executed.
    SQL> select lengthb (TEST_COLUMN)
      2  from test_table
      3  where test_column = 'NZ07100S'
      4  /
    LENGTHB(TEST_COLUMN)
                       8
    SQL> select max (lengthb (test_column))
      2  from test_table
      3  /
    MAX(LENGTHB(TEST_COLUMN))
                            8The eventual solution that made this piece of code work on XE was as follows
    SQL> alter table test_table modify test_column varchar2 (8 byte);
    Table altered.
    SQL> select gettestvalue from dual;
    GETTESTVALUE
    NZ07100S
    SQL> spool off;Now, I can't change the production (Enterprise Edition) schema. The XE is being used by the developers for their local testing. As such, knowing that the problem does not occur on Enterprise, I can ask them to make the changes locally to their XE for their local testing.
    However, I was just wondering, does anyone know if this is a known issue with Oracle XE ??
    Thanks and regards
    Jega

    Hi Jega,
    thank you for your post.
    Don't know is this issue XE release specific issue or 10.2.0.1 generally?
    Anyway, already 10.2.0.3 is patched - as you can see, even selecting from XE through PE102030 working OK:
    SQL> select * from v$version;
    BANNER
    Personal Oracle Database 10g Release 10.2.0.3.0 - Production
    PL/SQL Release 10.2.0.3.0 - Production
    CORE    10.2.0.3.0      Production
    TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    SQL> CREATE TABLE TEST_TABLE (TEST_COLUMN CHAR(8 BYTE)) ;
    Table created.
    SQL> CREATE OR REPLACE FUNCTION gettestvalue
      2  RETURN TEST_TABLE.TEST_COLUMN%TYPE
      3  IS
      4  TEST_VALUE TEST_TABLE.TEST_COLUMN%TYPE;
      5  BEGIN
      6  SELECT MAX(TEST_COLUMN) INTO TEST_VALUE FROM TEST_TABLE;
      7  RETURN TEST_VALUE;
      8  END;
      9  /
    Function created.
    SQL> insert into test_table
      2   values ('NZ07100S');
    1 row created.
    SQL> SELECT GETTESTVALUE FROM DUAL;
    GETTESTVALUE
    NZ07100S
    SQL> CREATE OR REPLACE FUNCTION gettestvalue_from_xe
      2  RETURN TEST_TABLE.TEST_COLUMN%TYPE
      3  IS
      4  TEST_VALUE TEST_TABLE.TEST_COLUMN%TYPE;
      5  BEGIN
      6  SELECT MAX(TEST_COLUMN) INTO TEST_VALUE FROM HR.TEST_TABLE@XE_LINK;
      7  RETURN TEST_VALUE;
      8  END;
      9  /
      Function created.
    SQL> SELECT GETTESTVALUE_FROM_XE FROM DUAL;
    GETTESTVALUE_FROM_XE
    NZ07100S
    SQL> conn hr/hr_password@xe
    Connected.
    SQL>  SELECT GETTESTVALUE FROM DUAL;
    SELECT GETTESTVALUE FROM DUAL
    ERROR at line 1:
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at "HR.GETTESTVALUE", line 7
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SQL>Note: XE_LINK is database link pointing from my PE instance to XE instance.

  • Message error ORA-00936 when using JDBC adapter

    Hi all,
    I'm using the folow scenario:
    RFC --> XI --> JDBC
    RFC <-- XI <-- JDBC (response)
    It's a SYNCHRONOUS interface.
    RFC call without COMMIT WORK:
    CALL FUNCTION 'Y_TESTE_NEI'
        DESTINATION 'RFC_XI'
    EXPORTING
       DATE_FROM       =  v_data_from
       DATE_TO         =  v_data_to
      TABLES
        t_return        = t_dados.
    I'm not using KEY in JDBC message, because for test I want to get entiry table, and I set the communication channel JDBC to KEY not mandatory.
    I'm not having mapping error, in SXMB_MONI I can see the two messages of interface, but both with SYSTEM ERROR.
    In JDBC adapter in Runtime Workbench apears the follow message error:
    com.sap.aii.af.ra.ms.api.DeliveryException: Error processing request in sax parser: Error when executing statement for table/stored proc. 't7_productionorder' (structure 't7_productionorder'): java.sql.SQLException: ORA-00936: missing expression
    And DUMP in function call in R/3: CALL_FUNCTION_REMOTE_ERROR
    Could anyone help me about this problem ?
    Thanks in advance.
    Regis Ferrato

    Hi Regis,
    I did the same scenario just now. The error you get is, you need to check whether the fields you are entering into the database have correct datatypes.
    Check out your database structure with your structure in XI, and also test in Message Mapping, to make sure you are sending correct values.
    In my case I was sending date like this '10-12-06', but my DB accepts only '101206'. So I removed the '-'. It was fine .
    The Dumping error is not due to your ABAP, due to the DB operation.
    Let me know Whether I am correct.
    Raj.

  • Ora 02290 when using qms_transaction_mgt and autonomous transactions

    Hi all,
    I'm using the qms procedures:
    qms_transaction_mgt for openeing and closing transactions.
    Somewhere in my procedure when the transaction is opened i call another procedure which contains a autonomous transaction.
    The next time qms_transaction_mgt.close_transaction is called i get an ORA-02290: check constraint (HST65.QMS_NEED_TO_CLOSE_TRANSACTION) violated
    When i debug the qms_transaction_mgt.close transaction the g_current_trans_id variable is empty, which indicates the transaction is allready closed.
    When i remove the pragma autonomous_transaction statement and the commit statement from the procedure i call, the problem is resolved.
    Version information:
    Designer 9.0.2 with a with a Oracle 9i 9.2 database and Headstart 9i.
    Does anybody know how i can resolve this or if this is a bug and how to fix it?
    Thanks,
    Yvon

    Ian, Yvon,
    It is unfortunately a know restriction that the CDM RuleFrame component of both Headstart for Designer 6i and Headstart for Designer 9i doesn't work in combination with autonomous transactions.
    The reason is that the RuleFrame administration relies on information stored in 1. pl/sql package variables and 2. database tables. Using autonomous transactions (that involve CDM RuleFramed DML) causes this information to dissynchronize.
    A year ago I investigated the possibilities to make autonomous transactions possible with RuleFrame but unfortunately this is fundamental problem: RuleFrame wants to combine multiple DML-actions into one logical transaction (gards this with the "need_to_close_transaction" constraint), while autonomous transactions intend to to the opposite: commit a part of a transaction while the rest of the transaction still is posted/not committed.
    There is one exception: if you call an atonomous procedure that does DML on a non-ruleframe-enabled table (no TAPI triggers that intend to open/close the transaction, no CAPI etc), everything functions.
    Problem explanation:
    ====================
    1. Outer transaction is opened (by front end or TAPI triggers of first DML)
    2. DML takes place
    3. Autonomous transaction-procedure is called
    4. Auto-transaction again tries (and succeeds!) to open the transaction, it doesn't see that the transaction is opened (db table qms_transactions is empty for the autonomous transaction on query)
    5. DML within auto-transaction is posted
    6. Auto-transaction closes transaction
    7. Auto-transaction is committed
    8. Outer transaction thinks the transaction is already closed, because the auto-transaction cleaned out the package variables when it closed the transaction.
    9. Commit of the outer transaction fails as the deferred check constraint need_to_close_transaction avoids this to happen (rollback takes place because of this violation).
    Hope this helps
    Kind Regards
    Marc Vahsen
    Headstart Team Oracle NL

Maybe you are looking for