IndexBy table param in OracleCallableStatement creates 4MB byte[] with junk

We have facing OutOfMemory error and the memory dump points to huge memory heap in a particular CallableStatement. One of the parameter to the CallableStatment is a index-by table and this is creating a 4MB byte array and holding on to it.
This is our call:
ocStmt.setPlsqlIndexTable(bindIndex[0],
translationData,
500,
translationData.length,
OracleTypes.VARCHAR,
2000);
translationData is a declared as "String[] translationData". When I print out the translationData.length, it comes as 40. In the memory dump, there is a byte[] parameter to this CallableStatment whose size is 4 MB and if I check the contents of it, the initial staring part is what we pass and rest is all nothing/junk.
One thing to note is that some of the elements in the translationData string array is null.
We also close this staement in the finally block. Do we need to do anything else, to remove this foot print from the memory?
OracleCallableStatement ocStmt = null;
try
// Prepare the statement and call the loader procedure
ocStmt = (OracleCallableStatement)mConn.prepareCall(sCreateTaskTranslations);
int[] bindIndex = new int[] { 1 };
Util.setStringValue(ocStmt,taskId,bindIndex);
Util.setIntValue(ocStmt,version,bindIndex);
ocStmt.setPlsqlIndexTable(bindIndex[0],
translationData,
500,
translationData.length,
OracleTypes.VARCHAR,
2000);
bindIndex[0]++;
//setInt method interprets a value of 0 as null
//call setIntNotNullValue to allow a value of 0 to be passed.
Util.setIntNotNullValue(ocStmt,rec_size,bindIndex);
Util.setBooleanValue(ocStmt,isVersionable,bindIndex);
ocStmt.executeUpdate();
catch(Exception e)
// Throw this Exception
finally
Util.closePreparedStatement(ocStmt);
Any pointers on why it is ending up with such a huge byte array? and how to avoid it?
Edited by: user641043 on Mar 23, 2010 12:33 PM

Hi,
I think you will be better of posting your question in call interface forum.
Oracle Call Interface (OCI)
Regards

Similar Messages

  • Importing a "texts table" from R3  to create standard texts with BAPI

    Hi,
    I'm mapping a custom structure to BAPI_SALESORDER_CHANGE.
    I need to read a table in R3 containing some text lines that I have to use to create a header text (structure ORDER_TEXT).
    Someone has already faced a similar problem? What is the best way to solve it ?
    Thanks for any help.
    Simona

    Hi,
    the best/standard way to do this is to implement it in an integration process(business process)
    inside it you can and call an RFC for instance which will read the table and return the data and then you can use the RFC response to map it (transformation step) elsewhere (to a new message). You do it all in one integration process.
    about calling (committing) the BAPI you can refer to my weblog:
    /people/michal.krawczyk2/blog/2005/05/09/how-to-call-a-bapi-asynchronously-from-xi--with-qrfc
    Regards,
    michal

  • Linking Access tables, creating a query with using both Access and Oracle

    Hello,
    I am using 3.0.04.34 version Oracle Developer. I am supposed to create a script/procedure to use both Access tables and oracle tables together. There is an option in developer to copy the access tables into oracle. But it doesn't help me. Because when we updated the access tables
    the copied ones are not be updated. How can I created a linked access tables to oracle and create a query with using both access and oracle table together.
    I will appreciate if you guys help me. I look forward to hearing from you guys.
    Thanks,
    Pinar

    Pinar,
    to be able to query MS Access tables in Oracle you need an additional product, the Oracle Database Gateway for ODBC. It allows you to link any foreign database into an Oracle database using a suitable ODBC driver. You can then access the MS Access tables through a database link based on the Database Gateway for ODBC. This will also allow you to join local Oracle and remote MS Access tables from your Oracle database.
    There's a note on My Oracle Support which gives you more details:Document 233876.1 Options for Connecting to Foreign Data Stores and Non-Oracle Databases - For example - DB2, SQL*Server, Sybase, Informix, Teradata, MySQL
    And there's also a dedicated Forum: Heterogeneous Connectivity

  • File-to-RFC Scenario Table Param are empty

    Hello,
    I create a file adapter to rfc adapter scenario. Thereto  I implemented a RFC in SAP which has only a table param. Furthemore I mapped the XML-File, that will be read by the File Adapter sender, to the SAP RFC Table structure. However the scenario works in PI, that mean the xml file will be read by the file adapter and will be send to the RFC Adapter receiver which makes a rfc call to the SAP destination. However my rfc function in the SAP destination will be called, but the table param is empty. Hereto I call the statement in my rfc function:
    if  MORDERNOTIFY is not initial . I do not know what the reason is that the  table param is empty? I also checked in the runtime workbench of the PI system and there is no error in the communication channels, the message will be send correctly, here is also an example message of the table structure:
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns1:Z_RFB_ORDERCONFIRM xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
    - <MORDERNOTIFY>
    - <item>
      <ZMELDUNGSTYP>ARU</ZMELDUNGSTYP>
      <ZPARTNER>HUP</ZPARTNER>
      <ZMELDUNGSNR>1</ZMELDUNGSNR>
      <ZMELDUNGSDATUM>20080822</ZMELDUNGSDATUM>
      <ZAUFTRAGSNR>5079440</ZAUFTRAGSNR>
      <ZKONTAKT>Test</ZKONTAKT>
      <ZWAGNNR>1211</ZWAGNNR>
      <ZAUFTRAGSSTUFE>GP.1</ZAUFTRAGSSTUFE>
      <ZSTATUS>1</ZSTATUS>
      <ZABFAHRTSORT>Zug</ZABFAHRTSORT>
      <ZBESTIMMUNGSORT>Bonn</ZBESTIMMUNGSORT>
      <ZBEREITDATUM>20080822</ZBEREITDATUM>
      <ZSCHADENSCODE>232</ZSCHADENSCODE>
      <ZEINGRIFFSFRAGE>1</ZEINGRIFFSFRAGE>
      <ZSMI>2</ZSMI>
      <ZGEPLEINGANG>20080822</ZGEPLEINGANG>
      <ZAUFTRAGSSTATUS>1</ZAUFTRAGSSTATUS>
      <ZGEPLENDE>20080822</ZGEPLENDE>
      <ZBEMERKUNGEN>Tes</ZBEMERKUNGEN>
      </item>
      </MORDERNOTIFY>
      </ns1:Z_RFB_ORDERCONFIRM>
    The SXMB_MONI also shows that everything is ok.  I assume that there is a problem by mapping RFC-XML to binary RFC. I do not know what the reason is why the table above is empty sended to my system.
    Kind regards,
    Erkan

    Hi ,
    open the u r Funtional Module in Se37
    And click on the Source Tab.
    On the top menu : near "Patterns" u can see two kinds of Break point.
    Break point with a Head on it is external break point
    click on it , it wud be valid for 2 hrs.
    hope u have kept u r file in test mode , once u r Adapter picks file u can see u reach u r external brk point.
    Note: Donot make this break piont to be long time , because u can see Some JCO connection error in u r RWB , which is normal )
    Test and lemme know
    rgds
    srini

  • Total rowsize for table exceeds the maximum number of bytes per row (8060).

    I am trying to Creat a UserDefined Field in Marketig document OPOR Table through the script. then the warning  "Total rowsize for table exceeds the maximum number of bytes per row (8060). " is occuring ,and transcation rollback. how can i solve the problem.

    You have three ways to deal with this:
    1) make you user field smaller.
    2) check all other UDF in that table, and if you find one that your not using, delte it.
    3) Somebody told me that SQL Server 2005 will not have this problem. Maybe you can migrate.
    Best regards
    Harold Gómez V.

  • How can I create a universe with the BO repository tables?

    Hi. I need make a universe with the BO repository tables, in order to get user information .
    But, when I try to insert tables in designer, using a new conecction to BO repository. I can't see tables.
    Someone can help me?

    The CMS repository is organized into both physical and virtual tables. Only the CMS can access the virtual tables, therefore you cannot create a universe on the CMS repository. You can access the CMS repository information through the Enterprise SDK.
    https://www.sdn.sap.com/irj/boc/businessobjects-sdklibrary

  • How can I create a query with tables in INFOSET?

    Dear Gurus,
    How can I create a query with tables in INFOSET?
    Just tables and fields INFOSET?
    Kind Regards,

    Hello
    Check following SCN Article for your understanding/reference:
    - [Using Infoset Query ,SAP Query and Quick Viewer|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/10eab7af-0e54-2c10-28a5-87b47adbe1a5]
    Regards
    JP

  • With InDesign CS6 I cannot re-work a table in a file created in InDesign CS5.5.

    With InDesign CS6 I cannot re-work a table in a file created with InDesign CS5.5. The half of the table disappears when I try. Any idea why?

    No idea why that would happen ...
    Try this
    Troubleshooting 101: Export to .idml or .inx to clear file corruption
    And/or this
    Troubleshooting 101: Replace, or "trash" your InDesign preferences

  • Table name for Invoice created with PO ref

    hi,
    I required Table name for Invoice created with PO ref.
    Regards,
    Ali

    HI,
    Check the table RSEG: Document Item: Incoming Invoice
    Look for the fields BELNR and EBELN
    Regards
    KK

  • Problem creating a datablock with columns from 2 tables...

    Hello guys, i have a problem in creating a datablock with columns from 2 different tables. I try to create the datalock manually and in the Query Data Source Type Property i choose FROM clause query, and in the query data source name property i type my sql statement with the columns i want to display.After that i place the items that the datablock will contain , manually from the painter. However , when i run the application, the datablock doesn't display the items from the database. Am i doing something wrong?
    Thanx in advance,
    Regards,
    Bill.

    Never mind Peter, I found the error. I forgot to make execute_query for the datablock, so this was the reason why the items weren't displayed to me.
    Thanx anyway a lot for your advices and your time you spent !

  • I created new table in database and want to bind with system form

    Hi All,
    1) i created new table in database and want to bind with system form .
    2) How i bind this field to system form sale order where i added new folder tab in that i added some fields that fields i want to bind with database. when i click on the next ,previous ,first and last button
    bind value should change.
    Awaiting soon reply
    Rajkumar G.

    hi,
    try this
    Public Sub BindDataToForm()
            Dim oItem As SAPbouiCOM.Item
            Dim oEdit As SAPbouiCOM.EditText
            Dim oComboBox As SAPbouiCOM.ComboBox
            '// getting the matrix column by the UID
            'oItem = oForm.Items.Item("docname")
            'oComboBox = oItem.Specific
            'oComboBox.DataBind.SetBound(True, "OSRI", "BaseType")
            'oItem = oForm.Items.Item("docno")
            'oEdit = oItem.Specific
            'oEdit.DataBind.SetBound(True, "OSRI", "BaseEntry")
            oColumn = oColumns.Item("Code")
            'oColumn.DataBind.SetBound(True, "", "DSCardCode")
            oColumn.DataBind.SetBound(True, "OSRI", "ItemCode")
            oColumn = oColumns.Item("Serial")
            oColumn.DataBind.SetBound(True, "OSRI", "IntrSerial")
            Try
                oColumn = oColumns.Item("Inspection")
                oColumn.DataBind.SetBound(True, "OSRI", "U_Inspection")
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
            oColumn = oColumns.Item("Quality")
            oColumn.DataBind.SetBound(True, "OSRI", "U_Quality")
            oColumn = oColumns.Item("Status")
            oColumn.DataBind.SetBound(True, "OSRI", "U_Status")
            oColumn = oColumns.Item("Finish")
            oColumn.DataBind.SetBound(True, "OSRI", "U_Finish")
            oColumn = oColumns.Item("Thickness")
            oColumn.DataBind.SetBound(True, "OSRI", "U_Thickness")
            oColumn = oColumns.Item("uom")
            oColumn.DataBind.SetBound(True, "OSRI", "U_NetUOM")
            oColumn = oColumns.Item("length")
            oColumn.DataBind.SetBound(True, "OSRI", "U_Length")
            oColumn = oColumns.Item("height")
            oColumn.DataBind.SetBound(True, "OSRI", "U_Height")
            oColumn = oColumns.Item("sqf")
            oColumn.DataBind.SetBound(True, "OSRI", "U_sqf")
            oColumn = oColumns.Item("sqm")
            oColumn.DataBind.SetBound(True, "OSRI", "U_sqm")
        End Sub

  • How to create a byte[] as parameter for a Method inside the Controller

    Hi Experts,
    I want to create a method getCachedWebResource inside the component controller which has a parameter file which is of type byte[].
    But in Netweaver Developer Studio I am not able to create this parameter with type byte[] .
    When I try creating a parameter of this type (byte[]) . I get only byte from drop down and  below Array type checkbox is disabled.
    Please help me in this regards.
    I am already highly obliged to his forum with lots of useful answers. Hoping the same this time too
    Best Regards,
    Roby..

    Robert-
    There are two ways of achieving this:
    1. Create a private getCachedWebResource() method inside your component controller's others section. i.e. do not create a method on the Methods tab, but instead code the method directly into the controller.
    2. Create a parameter of type java.lang.Byte[ ] instead of byte[ ]. This can be done by clicking on the Browse button next to the Type and then choosing the Java Native Type radio button. In the Java Native Type input field provide java.lang.Byte. Click on Ok and you should see the Array Type option getting enabled. Check it, and in the method you should convert from java.lang.Byte to byte.
    I would stick to option (1)
    Cheers-
    Atul

  • Shadow tables that have been created via the new partitioning schema

    Hi,
         Complete Partitioning :
                    In a complete partitioning, the fact table of the infocube are fully converted using shadow
    tables that have been created via the new partitioning schema.
                   in the above Explanation what is the meaning of shadow tables which perform the
                   partitioning of an info cube.

    Hi
    Shadow tables have the namespace /BIC/4F<Name of InfoCube> or /BIC/4E<Name of InfoCube>.
    Complete Partitioning
    Complete Partitioning fully converts the fact tables of the InfoCube. The system creates shadow tables with the new partitioning schema and copies all of the data from the original tables into the shadow tables. As soon as the data is copied, the system creates indexes and the original table replaces the shadow table. After the system has successfully completed the partitioning request, both fact tables exist in the original state (shadow table), as well as in the modified state with the new partitioning schema (original table). You can manually delete the shadow tables after repartitioning has been successfully completed to free up the memory. Shadow tables have the namespace /BIC/4F<Name of InfoCube> or /BIC/4E<Name of InfoCube>.
    You can only use complete repartitioning for InfoCubes. A heterogeneous state is possible. For example, it is possible to have a partitioned InfoCube with non partitioned aggregates. This does not have an adverse effect on functionality. You can automatically modify all of the active aggregates by reactivating them.
    Hope it helps and clear

  • Hello! Can't open an IDML file. ID file was created in CC (10). It is a 100 page (50 spreads) doc that is one big table. It was created in CC (10) and saved as an IDML file. I have CS6 and when I try to open it, it shuts down ID almost instantly. The file

    Hello! Can't open an IDML file. ID file was created in CC (10). It is a 100 page (50 spreads) doc that is one big table. It was created in CC (10) and saved as an IDML file. I have CS6 and when I try to open it, it shuts down ID almost instantly. The file was created on a MAC and I am trying to open it on a MAC. Any/all advice is greatly appreciated as I am up against a deadline with this unopened file! Many thanks in advance, Diane

    There's a good chance the file is corrupt. As whomever sent it to you to verify it opens on their end.

  • LrBinding.andAllKeys and LrBinding.orAllKeys - with optional property-table param (optObject): anybody ever got that to work?

    LrBinding.andAllKeys and LrBinding.orAllKeys - with optional property-table param (optObject): anybody ever got that to work?
    If so, please share your secret.
    I may have it figured out by the time you post, but so far it has never worked for me - bug? or am I not doing something right?

    I guess this is a bug
    Lightroom SDK 5: LrBinding.andAllKeys and orAllKeys in conjunction with optional bind-to object param - doesn't work, or…

Maybe you are looking for