Reg: PLS-00418: array bind type must match PL/SQL table row type error

I am trying to access a table of records through JDBC OracleCallableStatement. I am able to do it fine for all mappings except for the ones below
TYPE CAT_CD_TYPE IS TABLE OF A.B %TYPE INDEX BY BINARY_INTEGER;
TYPE ORG_CD_TYPE IS TABLE OF C.D %TYPE INDEX BY BINARY_INTEGER;
Column B is CHAR(1) and Column D is CHAR(2). I am trying to register the out parameters of Oraclecallablestatement as
cstmt.registerIndexTableOutParameter(2, 2000, OracleTypes.CHAR, 0);
cstmt.registerIndexTableOutParameter(3, 2000, OracleTypes.CHAR, 0);
All the other mappings work fine. These two fail with the error
SQLException in invokeDBPackage() : ORA-06550: line 1, column 32:
PLS-00418: array bind type must match PL/SQL table row type
ORA-06550: line 1, column 35:
PLS-00418: array bind type must match PL/SQL table row type
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
I tried other OracleTypes mappings too but no luck so far.
Any advice on this would be greatly appreciated.

Hi,
I'm not sure it's reasonable to expect someone to sift through that much stuff.
Which parameter is it having a problem with?
Can you modify the following to reproduce the behavior?
Thanks
Greg
create package mypack5 as
TYPE v2array is table of emp.ename%type index by BINARY_INTEGER;
PROCEDURE test_it(thearray IN v2array, numrecs out number);
END;
CREATE or replace PACKAGE BODY MYPACK5 AS
PROCEDURE test_it(thearray IN v2array, numrecs out number)
IS
begin
numrecs := thearray.count;
END;
END;
using System;
using System.Data;
using Oracle.DataAccess.Client;
public class indexby
public static void Main()
OracleConnection con = new OracleConnection("data source=orcl;user id=scott;password=tiger;");
con.Open();
OracleCommand cmd = new OracleCommand("mypack5.test_it", con);
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter Param1 = cmd.Parameters.Add("param1", OracleDbType.Varchar2);
Param1.Direction = ParameterDirection.Input;
Param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
Param1.Size = 3;
string[] vals = { "foo", "bar", "baz" };
Param1.Value = vals;
OracleParameter Param2 = cmd.Parameters.Add("param2", OracleDbType.Int32, DBNull.Value, ParameterDirection.Output);
cmd.ExecuteNonQuery();
Console.WriteLine("{0} records passed in", Param2.Value);
con.Close();
}

Similar Messages

  • PLS-00418: array bind type must match PL/SQL table row type

    If a PL/SQL table is indexed by CHAR and is a parameter
    in a Stored Program, we are not able to call the stored
    program from the Java code.
    We get the following error code.
    java.sql.SQLException: ORA-06550: line 1, column 62:
    PLS-00418: array bind type must match PL/SQL table row type
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    But if we change the CHAR into VARCHAR2 then it works.
    We are using Oracle9i Enterprise Edition Release 9.2.0.5.0 -64bit Production ,
    JServer Release 9.2.0.5.0 - Production
    and JDK1.4.
    Thanks
    Push..

    Hi,
    I'm not sure it's reasonable to expect someone to sift through that much stuff.
    Which parameter is it having a problem with?
    Can you modify the following to reproduce the behavior?
    Thanks
    Greg
    create package mypack5 as
    TYPE v2array is table of emp.ename%type index by BINARY_INTEGER;
    PROCEDURE test_it(thearray IN v2array, numrecs out number);
    END;
    CREATE or replace PACKAGE BODY MYPACK5 AS
    PROCEDURE test_it(thearray IN v2array, numrecs out number)
    IS
    begin
    numrecs := thearray.count;
    END;
    END;
    using System;
    using System.Data;
    using Oracle.DataAccess.Client;
    public class indexby
    public static void Main()
    OracleConnection con = new OracleConnection("data source=orcl;user id=scott;password=tiger;");
    con.Open();
    OracleCommand cmd = new OracleCommand("mypack5.test_it", con);
    cmd.CommandType = CommandType.StoredProcedure;
    OracleParameter Param1 = cmd.Parameters.Add("param1", OracleDbType.Varchar2);
    Param1.Direction = ParameterDirection.Input;
    Param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
    Param1.Size = 3;
    string[] vals = { "foo", "bar", "baz" };
    Param1.Value = vals;
    OracleParameter Param2 = cmd.Parameters.Add("param2", OracleDbType.Int32, DBNull.Value, ParameterDirection.Output);
    cmd.ExecuteNonQuery();
    Console.WriteLine("{0} records passed in", Param2.Value);
    con.Close();
    }

  • Pl/sql table - row type records

    Hi,
    Is there any limit on the number of records that a pl/sql table (row type) can accomodate.Iam using oracle 10g

    user11200499 wrote:
    I have gone thru that url, nothing on the maximum number of records that can be present in pl/sql table is given there. Will be very helpful if you can let me know if there is any such limitation.There is no such thing as a PL/SQL "+table+". A table, in Oracle terminology, means colums and rows and indexes and the ability to scale data, effectively read and process and filter and aggregate data.
    A so-called PL/SQL "+table+" is nothing at all like this.
    The correct term for it, and used in all other programming languages, are arrays (procedural term) and collections (object orientated term).
    An array/collection is a local memory structure in the unit of code. In PL/SQL, that means PGA (process global area) memory. And as this uses server memory, you should not abuse it and only use as much that is truly needed.
    Make a PL/SQL array/collection too large, and PGA grows.. and can have a very negative impact on performance. It can even cause the server to crawl to halt, where you will struggle to enter a commandline command on the server as it is spending 99% of CPU time trying to deal with memory requests and page swapping.
    So what do we then use arrays/collections for in PL/SQL?
    For the very same reason we use in any other programming language - dealing with managing local programming data in a more effective memory structure. Such as bulk processing when requiring a buffer variable that can be passed to and from the PL and SQL engines.
    This does NOT mean using it as you would use it as if it is a SQL table. As it is not.
    So to answer your question of how large a PL/SQL array or collection can be? That depends entirely on the problem you are trying to solve. If it is for example bulk processing, then typically a collection of a 100 rows provides the best balance between the amount of (expensive) PGA memory being used versus the increase in performance by reducing context switching between the PL and SQL engines.
    If the rows are quite small, perhaps even a 1,000 row collection. More than that seldom decreases context switching enough to justify the increase in expensive PGA.
    So what should then be used to store larger data structures in PL/SQL? GTT or Global Temporary Tables. As this is a proper SQL table structure. Can be indexed. Natively supports SQL. Can scale with data volumes.
    And most importantly, it does not consume dedicated process memory and will not blow server memory.

  • Oracle Portal 11g- PLS-00201 identifier 'PORTAL.WWSRC_API' must be declared

    Happy Thursday Community!
    Hopefuly this is the right place to ask for help, I am fairly new to Portal. I am getting below WARNING and can't move forward. I tried to give 'PORTAL.WWSRC_API' permissions to PUBLIC, still no go. I am using Oracle Designer to genearate the search results from Portal. Please, see code being used after the error list.
    ERROR:
    Server Generator 10.1.2.6 (Build 10.1.2.11.12) , Thu May 16 10:41:10 2013
    Copyright (c) Oracle Corporation 1995, 2010. All rights reserved.
    Executing generated DDL ...
    Creating Procedure 'PG_SEARCH' ...
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 8/22): PLS-00201: identifier 'PORTAL.WWSRC_API' must be declared
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 8/22): PL/SQL: Item ignored
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 10/21): PLS-00201: identifier 'PORTAL.WWSRC_API' must be declared
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 10/21): PL/SQL: Item ignored
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 11/17): PLS-00201: identifier 'PORTAL.WWSRC_API' must be declared
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 11/17): PL/SQL: Item ignored
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 24/1): PLS-00320: the declaration of the type of this expression is incomplete or malformed
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 24/1): PL/SQL: Statement ignored
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 27/1): PLS-00320: the declaration of the type of this expression is incomplete or malformed
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 27/1): PL/SQL: Statement ignored
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 44/16): PLS-00320: the declaration of the type of this expression is incomplete or malformed
    CDS-11307 Warning: (compilation error in PROCEDURE 'PG_SEARCH' at 44/4): PL/SQL: Statement ignored
    DDL execution complete
    Processing Complete: 0 error(s), 12 warning(s)
    BEGIN
        DECLARE
    l_rows              number := 20 ;
    l_pageId              varchar2(100) ;
    l_results           portal.wwsrc_api.items_result_array_type;
    l_count             number;
    l_scores           portal.wwsrc_api.number_list_type;
    l_pageGroups   portal.wwsrc_api.number_list_type;
    l_maxRows      number;
    l_text             nvarchar2(30000) ;
    l_url                varchar2(250);
    begin
    -- set the response type
    owa_util.mime_header('text/xml');
    -- setting id of the pagegroup where your items lies
    l_pageGroups(0) := 'MyPageGroup'; 
    -- Use of the search API to get results.
    l_results := portal.wwsrc_api.item_search(
              p_page_groups => l_pageGroups,
          p_rows        => l_rows ,
          p_out_count   => l_count,
          p_out_scores  => l_scores   );
    -- generate response                      
    htp.p('
      <rss version="2.0">
      <channel>
      <generator>Oracle AS11g</generator>
      <title>Some rss items</title>
      <description>Description for this rss feed  </description>
      <language>US</language> 
      <buildDate>' || SYSDATE || '</buildDate>
       for i in 1..l_results.count loop
         htp.p('<item>');
         htp.p('<title>' || l_results(i).display_name || '</title>');
         htp.p('<link>http://server:port/portal/page/portal/pagegroup/page/' || l_results(i).display_name || '</link>');
         htp.p('<description>' || l_results(i).description || '</description>');
         htp.p('</item>');
       end loop;
    -- close the feed
    htp.p('</channel></rss>');
    end;  
    end; I also tried code from this URL: [http://docs.oracle.com/cd/E14571_01/portal.1111/e10238/pdg_cm_search.htm|http://docs.oracle.com/cd/E14571_01/portal.1111/e10238/pdg_cm_search.htm]
    I still get the 'identifier 'WHATEVERTHEAPI' must be declared' error.
    How do I avenge this one?
    Dököll

    What is <tt>MESSAGEUTIL</tt>?
    use named parameters to keep track of the correct parameter count:"{ call MESSAGEUTIL.GET_IAF("
      + "V_PEID=> 'AVapp1lLQPakyVfqQ9UO1Q'"
      + ", V_START_TIME=> to_timestamp('21-Jan-11 01:00:00.0 AM','dd-MON-yy hh:mi:ss.F PM')"
    ...and leaving a space before <tt>call</tt> and before the final <tt>}</tt> meight also be a good idea...
    There are some problems in here: your procedure defines out parameters that are not invoked by bind parameters in your java string. Since oracle tends to issue strange error messages this could be part of the problem. If you'r responsible for the procedure try to separate in parameters and out parameters.Defining a paramer to be both, IN and OUT is possible, but you should have a really, really good reason to do so.
    BTW: the common naming convetion for parameters in PLSQL is <tt>p_...</tt>. <tt>v_...</tt> is for local variables inside a procedure.
    BTW2: use java classes to pass parameters from java to PLSQL:CallableStatement cstmt = getCstmt("{ call MESSAGEUTIL.GET_IAF("
      + "V_PEID=> 'AVapp1lLQPakyVfqQ9UO1Q'"
      + ", V_START_TIME=> ? "
    // how do you expect something like 'AVapp1lLQPakyVfqQ9UO1Q' beeing converted to an Integer?
    cstmt.registerOutParameter(1,Types.INTEGER);
    cstmt.registerOutParameter(2,Types.TIMESTAMP);
    cstmt.execute();
    java.sql.Timestamp timeStamp = cstmt.getTimestamp(2);bye
    TPD

  • Using array binding to perform multiple rowupdates in one pass

    For the first time I am attempting to use array binding in VB.NET to update multiple rows via a single execution of a stored procedure. My subroutine is:
    Friend Sub UpdateSolutionStatusUsingArrays(ByVal intNumBeingUpdated As Integer, ByVal arrScenarioID() As Integer, ByVal arrSolutionID() As Integer, ByVal arrInOrOut() As Integer, ByVal arrTimePeriod() As Integer)
    Try
    'Set up the Command object
    Dim cmdUpdateSolutionStatus As OracleCommand
    cmdUpdateSolutionStatus = New OracleCommand
    cmdUpdateSolutionStatus.CommandType = CommandType.StoredProcedure
    cmdUpdateSolutionStatus.CommandText = "ProcUpdateSolutionStatus"
    cmdUpdateSolutionStatus.Connection = cnnORACLE
    cmdUpdateSolutionStatus.ArrayBindCount = intNumBeingUpdated - 1
    cmdUpdateSolutionStatus.CommandTimeout = CInt(tblOptions.Rows(intDatabaseIndex).Item("ConnectionTimeout"))
    'Add ScenarioID array as parameter
    Dim p_ScenarioID As New OracleParameter("ScenarioID", OracleDbType.Int32)
    p_ScenarioID.Direction = ParameterDirection.Input
    p_ScenarioID.Value = arrScenarioID
    cmdUpdateSolutionStatus.Parameters.Add(p_ScenarioID)
    'Add SolutionID array as parameter
    Dim p_SolutionID As New OracleParameter("SolutionID", OracleDbType.Int32)
    p_SolutionID.Direction = ParameterDirection.Input
    p_SolutionID.Value = arrSolutionID
    cmdUpdateSolutionStatus.Parameters.Add(p_SolutionID)
    'Add InOrOut array as parameter
    Dim p_InOrOut As New OracleParameter("InOrOut", OracleDbType.Int32)
    p_InOrOut.Direction = ParameterDirection.Input
    p_InOrOut.Value = arrInOrOut
    cmdUpdateSolutionStatus.Parameters.Add(p_InOrOut)
    'Add TimePeriod array as parameter
    Dim p_TimePeriod As New OracleParameter("TimePeriod", OracleDbType.Int32)
    p_TimePeriod.Direction = ParameterDirection.Input
    p_TimePeriod.Value = arrTimePeriod
    cmdUpdateSolutionStatus.Parameters.Add(p_TimePeriod)
    'Open connection
    cnnORACLE.Open()
    'Run stored procedure
    cmdUpdateSolutionStatus.ExecuteNonQuery()
    'Tidy up
    cmdUpdateSolutionStatus = Nothing
    cnnORACLE.Close()
    Catch ex As Exception
    WriteLog("Subroutine UpdateSolutionStatusUsingArrays:" & ex.Message.ToString)
    strState = "Error"
    'Update Run Status to show error has occurred
    cnnORACLE.Close()
    UpdateRunStatusORACLE(7)
    End Try
    End Sub
    When the routine tries to run cmdUpdateSolutionStatus.ExecuteNonQuery() I get the error message:
    Unable to cast object of type 'System.Int32[]' to type 'System.IConvertible'.
    I have tried all sorts of variants of the code but with no success. The arrays are being set up correctly. Anyoneone know what I'm missing?
    Stewart

    Try declaring the arrays as OracleNumber datatype instead of Integer. I've had this issue before, and I believe this is what I did to solve the problem.

  • User Defined Type - Array bind Query very slow

    Hi.
    I have following Problem. I try to use Oracle Instant Client 11 and ODP.NET to pass Arrays in SELECT statements as Bind Parameters. I did it, but it runs very-very slow. Example:
    - Inittial Query:
    SELECT tbl1.field1, tbl1.field2, tbl2.field1, tbl2.field2 ... FROM tbl1
    LEFT JOIN tbl2 ON tbl1.field11=tbl2.field0
    LEFT JOIN tbl3 ON tbl2.field11=tbl3.field0 AND tbll1.field5=tbl3.field1
    ...and another LEFT JOINS
    WHERE
    tbl1.field0 IN ('id01', 'id02', 'id03'...)
    this query with 100 elements in "IN" on my database takes 3 seconds.
    - Query with Array bind:
    in Oracle I did UDT: create or replace type myschema.mytype as table of varchar2(1000)
    than, as described in Oracle Example I did few classes (Factory and implementing IOracleCustomType) and use it in Query,
    instead of IN ('id01', 'id02', 'id03'...) I have tbl1.field0 IN (select column_value from table(:prmTable)), and :prmTable is bound array.
    this query takes 190 seconds!!! Why? I works, but the HDD of Oracle server works very hard, and it takes too long.
    Oracle server we habe 10g.
    PS: I tried to use only 5 elements in array - the same result, it takes also 190 seconds...
    Please help!

    I recommend you generate an explain plan for each query and post them here. Based on what you have given the following MAY be happening:
    Your first query has as static IN list when it is submitted to the server. Therefore when Oracle generates the execution plan the CBO can accurately determine it based on a KNOWN set of input parameters. However the second query has a bind variable for this list of parameters and Oracle has no way of knowing at the time the execution plan is generated what that list contains. If it does not know what the list contains it cannot generate the most optimal execution plan. Therefore I would guess that it is probably doing some sort of full table scan (although these aren't always bad, remember that!).
    Again please post the execution plans for each.
    HTH!

  • Error - The file must match the template type. Upload one file per language

    hi,
    Error - The file must match the template type. Upload one file per language and territory combination.
    i am getting above error while registering RTF template in oracle application e -business suite using XML publisher admistrator responsibility.
    My work :
    i generated xml output using concurrent program.
    for this i used standard PO report,
    the executable name: POXPRPOP.
    i designed the template using MS Office word (for RTF template)
    for this :
    <?start: body?>
    <? for-each: G_Headers?>
    VENDOR:
    <?POH_VENDOR_NAME?>
    <?POH_VENDOR_COUNTRY?>
    PURCHASEORDER NO.
    <?POH_PO_NUM?>
    SHIP TO:
    <?C_COMPANY?>
    <?POH_SHIP_ADDRESS_LINE1?>
    <?POH_SHIP_COUNTRY?>
    BILL TO:
    <?C_COMPANY?>
    <?POH_BILL_ADDRESS_LINE1?>
    <?POH_BILL_COUNTRY?>
    <?end for-each?>
    <?end body?>
    saved this file as "Purchasing.rtf" on desk top
    i registered data definition
    name:purchase order data definition.
    code : short name of concurrent program.
    i try to create template Or register the template in oracle e-business suite.
    name: purchasing template
    code: concurrent program short name
    type : RTF.
    file : browse from desk top (purchasing.rtf)
    language:english
    territory: US.
    but i am getting above error
    could any one help to come out of this problem.
    thank you
    regarding,
    sai krishna@cavaya

    Hi,
    I am getting the error as
    The file must match the template type. Upload one file per language and territory combination.
    I have checked the template name. It doesn't exist already. Please help me.
    Thanks in Advance,
    Jeganathan

  • Support for Array Binding and PL/SQL tables (IN, INOUT, or OUT)

    I have attempted, unsuccessfully, to use array binding in stored procedure/function calls where the sp/sf has parameters that are PL/SQL tables. I have seen the topic floating around in this forum, but I have not seen the explicit questions:
    - Does ODP.NET support PL/SQL tables as IN, INOUT or OUT parameters to stored procedures/functions?
    - Will any planned ODP.NET release support PL/SQL tables as IN, INOUT or OUT parameters to stored procedures/functions?
    I am aware that I can use REF CURSORS to handle the OUT situation, but I need to make a design decision concerning supporting parameters of IN and INOUT PL/SQL tables.
    Thanks.
    James

    You really MUST do this!! - i.e. include support for PL/SQL table parameters (IN INOUT and OUT) in a future release of ODP.NET.
    PL/SQL tables are a fundamental type in Oracle stored procedures and you will be preventing a huge number of existing projects from migrating to .NET if you don't acknowledge them as part and parcel of Oracle programming.
    I sincerely hope support for PL/SQL table parameters is treated as a serious issue.
    Think what a coup it would be for you over Microsoft (who don't currently support PL/SQL tables with their .NET native provider for Oracle and don't look as if they will at least in the short term)!
    Please, please, please!

  • PLS-00201: identifier 'MESSAGEUTIL.GET_IAF' must be declared

    My DB Procedure:
    PROCEDURE GET_IAF (
    V_PEID IN OUT VARCHAR2,
    V_START_TIME IN OUT TIMESTAMP,
    V_END_TIME IN OUT TIMESTAMP,
    V_BATCH_ID IN OUT INTEGER,
    V_EPS_ID IN OUT INTEGER,
    V_EVENT_ID IN OUT INTEGER,
    V_USER_INPUT IN OUT VARCHAR2,
    V_STARTINDEX IN NUMBER,
    V_MAXROWS IN NUMBER,
    V_ACCESSCOUNT IN NUMBER DEFAULT -1,
    Service_Instance_Id IN VARCHAR2,
    V_RESULTSCOUNT OUT NUMBER,
    V_STATUS OUT VARCHAR2,
    V_ERROR OUT VARCHAR2,
    V_MESSAGE OUT VARCHAR2,
    V_RECORDSET OUT SYS_REFCURSOR);
    My Java Code:
    private static final String sqlGetIAF =
    "{call MESSAGEUTIL.GET_IAF('AVapp1lLQPakyVfqQ9UO1Q',to_timestamp('21-Jan-11 01:00:00.0 AM','dd-MON-yy hh:mi:ss.F PM'),to_timestamp('21-Feb-11 01:00:00.0 AM','dd-MON-yy hh.mi.ss.F PM'),0,0,3,'A',-1,10,-1,51479661,?,?,?,?,?)}";
    CallableStatement cstmt = getCstmt(sqlGetIAF);
    cstmt.registerOutParameter(1,Types.INTEGER);
    cstmt.registerOutParameter(2,Types.VARCHAR);
    cstmt.registerOutParameter(3,Types.VARCHAR);
    cstmt.registerOutParameter(4,Types.VARCHAR);
    cstmt.registerOutParameter(5, OracleTypes.CURSOR);
    rs=cstmt.executeQuery();
    I am getting the below error when i am trying to run the above sql.
    The user has execute grant on the stored procdure.
    Error I am getting:
    Caused By: java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00201: identifier 'MESSAGEUTIL.GET_IAF' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1035)
    at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:191)
    at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:950)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1223)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3386)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3430)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491)
    at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:128)
    at com.cox.corp.crn.db.dao.IAFProcessDAO.getIAF(IAFProcessDAO.java:65)
    at com.cox.corp.crn.mdb.IAFQueueEJBBean.onMessage(IAFQueueEJBBean.java:82)
    at sun.reflect.GeneratedMethodAccessor1567.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy240.onMessage(Unknown Source)
    at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
    at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
    at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4585)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:4271)
    at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3747)
    at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
    at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5096)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

    What is <tt>MESSAGEUTIL</tt>?
    use named parameters to keep track of the correct parameter count:"{ call MESSAGEUTIL.GET_IAF("
      + "V_PEID=> 'AVapp1lLQPakyVfqQ9UO1Q'"
      + ", V_START_TIME=> to_timestamp('21-Jan-11 01:00:00.0 AM','dd-MON-yy hh:mi:ss.F PM')"
    ...and leaving a space before <tt>call</tt> and before the final <tt>}</tt> meight also be a good idea...
    There are some problems in here: your procedure defines out parameters that are not invoked by bind parameters in your java string. Since oracle tends to issue strange error messages this could be part of the problem. If you'r responsible for the procedure try to separate in parameters and out parameters.Defining a paramer to be both, IN and OUT is possible, but you should have a really, really good reason to do so.
    BTW: the common naming convetion for parameters in PLSQL is <tt>p_...</tt>. <tt>v_...</tt> is for local variables inside a procedure.
    BTW2: use java classes to pass parameters from java to PLSQL:CallableStatement cstmt = getCstmt("{ call MESSAGEUTIL.GET_IAF("
      + "V_PEID=> 'AVapp1lLQPakyVfqQ9UO1Q'"
      + ", V_START_TIME=> ? "
    // how do you expect something like 'AVapp1lLQPakyVfqQ9UO1Q' beeing converted to an Integer?
    cstmt.registerOutParameter(1,Types.INTEGER);
    cstmt.registerOutParameter(2,Types.TIMESTAMP);
    cstmt.execute();
    java.sql.Timestamp timeStamp = cstmt.getTimestamp(2);bye
    TPD

  • ?Problem of :: "web-app" must match, help me?

    hi,Experts,
    Please do me a big favor, Does anybody know what is the exatly problem with my web.xml.
    My tomcat version is Apache Tomcat/4.1.18.
    here is the web.xml:
    <!DOCTYPE web-app PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>newGUI</display-name>
    <description>The Database</description>
    <!--Filter Definitions-->
    <filter>
    <filter-name>theFilter</filter-name>
    <filter-class>org.gui.myFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>theFilter</filter-name>
    <url-pattern>/fetch.jsp</url-pattern>
    </filter-mapping>
    <filter>
    <filter-name>theFilter</filter-name>
    <filter-class>org.gui.myFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>theFilter</filter-name>
    <url-pattern>/query.jsp</url-pattern>
    </filter-mapping>
    <!-- Taglib Definitions-->
    <taglib>
    <taglib-uri>
    http://jsptags.com/tags/navigation/pager
    </taglib-uri>
    <taglib-location>
    /WEB-INF/jsp/pager-taglib.tld
    </taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/jstl-c</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/jstl-x</taglib-uri>
    <taglib-location>/WEB-INF/x.tld</taglib-location>
    </taglib>
    </web-app>
    The error message is :
    SEVERE: Parse Error at line 66 column 11: The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,
    servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,
    resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,
    ejb-local-ref*)".

    It is telling you either you have elements out of order, or elements that do not belong.
    Try to do:
    <filter>
      <filter-name>theFilter</filter-name>
      <filter-class>org.gui.myFilter</filter-class>
    </filter>
    <filter>
      <filter-name>theFilter</filter-name>
      <filter-class>org.gui.myFilter</filter-class>
    </filter>
    <filter-mapping>
      <filter-name>theFilter</filter-name>
      <url-pattern>/fetch.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
      <filter-name>theFilter</filter-name>
      <url-pattern>/query.jsp</url-pattern>
    </filter-mapping>Then double check spelling and such.

  • PLS-00049: bad bind variable 'IN_DPC_CODE'

    Hi,
    I am gettig following errors while creating a stored procedure. please help me.
    BEGIN
    EXECUTE IMMEDIATE sql_stmt
    INTO OUT_ROWNUM, OUT_DPC_CODE_ORIG, OUT_SENSOR_ID, OUT_HEADER_DATE,OUT_FIRST_BLOCK_NUMBER, LAST_BLOCK_NUMBER, OUT_RECORD_QUANTITY,OUT_FILE_ID, OUT_FILE_NAME, OUT_TRACE_SEQUENCE_NO, OUT_TRAILER_DATE, OUT_PROCESSED_DATE, OUT_ROW_NUMBER
    USING :IN_DPC_CODE, :IN_SENSOR_ID, :IN_TRAILER_DATE, :IN_LAST_BLOCK_NUMBER;

    Hi,
    Here i am sending total code. Please suggest me accordingly.
    After executing this i am getting following errors.
    ERROR at line 1:
    ORA-06550: line 1, column 7:
    PLS-00905: object NRUPWEIS.TAB_SELECT is invalid
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    SQL> show errors
    Errors for PROCEDURE TAB_SELECT:
    LINE/COL ERROR
    92/19 PLS-00049: bad bind variable 'IN_DPC_CODE'
    92/33 PLS-00049: bad bind variable 'IN_SENSOR_ID'
    92/48 PLS-00049: bad bind variable 'IN_TRAILER_DATE'
    92/66 PLS-00049: bad bind variable 'IN_LAST_BLOCK_NUMBER'
    116/3 PLS-00103: Encountered the symbol "END"
    code:
    -- -- Input parameters:
    -- -- ALBQ 602071 20050913153100 53290
    -- -- exec tab_select('ALBQ', '602071', '053290', '20050912153100')
    -- CREATE or REPLACE PROCEDURE tab_select IS
    -- type curTyp is ref cursor;
    -- tab_cv curTyp;
    CREATE or REPLACE PROCEDURE tab_select (IN_DPC_CODE IN CHAR, IN_SENSOR_ID IN NUMBER, IN_LAST_BLOCK_NUMBER IN NUMBER,
    IN_TRAILER_DATE IN CHAR) IS
    sql_stmt varchar2(2000);
    sql_stmt2 varchar2(2000);
    IN_DPC_CODE CHAR(4);
    IN_SENSOR_ID CHAR(6);
    IN_TRAILER_DATE CHAR(14);
    IN_LAST_BLOCK_NUMBER number;
         OUT_ROWNUM number(8) := 0;
    OUT_DPC_CODE_ORIG CHAR(4);
    OUT_SENSOR_ID CHAR(6);
    OUT_HEADER_DATE CHAR(14);
    OUT_FIRST_BLOCK_NUMBER number(9) := 0;
    OUT_LAST_BLOCK_NUMBER number(9) := 0;
    OUT_RECORD_QUANTITY number(8) := 0;
    OUT_FILE_ID CHAR(10);
    OUT_FILE_NAME CHAR(30);
    OUT_TRACE_SEQUENCE_NO number(5) := 0;
    OUT_TRAILER_DATE CHAR(14);
    OUT_PROCESSED_DATE CHAR(14);
    OUT_ROW_NUMBER number(8) := 0;
    BEGIN
    DBMS_OUTPUT.DISABLE;
    DBMS_OUTPUT.ENABLE(1000000);
    DBMS_OUTPUT.PUT_LINE('**** ' );
    DBMS_OUTPUT.PUT_LINE('**** BEFORE sql_stmt Line: ' || ' ' ||
    IN_DPC_CODE || ' ' ||
    IN_SENSOR_ID || ' ' ||
    IN_TRAILER_DATE || ' ' ||
    IN_LAST_BLOCK_NUMBER);
    DBMS_OUTPUT.PUT_LINE('**** ' );
    sql_stmt := 'SELECT rNum, dpcCode, sID, hDate, fBlock, ' ||
    'lBlock, recQty, fID, fName, ' ||
    'tSeqNo, sType, tDate, fStatCode, pDate, recCount, r ' ||
    'FROM (SELECT rownum rNum, DPC_CODE_ORIG dpcCode, ' ||
    'SENSOR_ID sID, ' ||
    'to_char(HEADER_DATE, ''YYYYMMDDHH24MISS'') hDate, ' ||
    'FIRST_BLOCK_NUMBER fBlock, ' ||
    'LAST_BLOCK_NUMBER lBlock, ' ||
    'RECORD_QUANTITY recQty, ' ||
    'FILE_ID fID, ' ||
    'substr(FILE_NAME,1,30) fName, ' ||
    'TRACE_SEQUENCE_NO tSeqNo, ' ||
    'SENSOR_TYPE sType, ' ||
    'to_char(TRAILER_DATE, ''YYYYMMDDHH24MISS'') tdate, ' ||
    'NVL(FILE_STATUS_CODE, ''NL'') fStatCode, ' ||
    'to_char(PROCESSED_DATE, ''YYYYMMDDHH24MISS'') pDate, '||
    'NVL(RECIRCULATE_COUNT, 0) recCount, ' ||
    'ROW_NUMBER() ' ||
    'OVER(ORDER BY LAST_BLOCK_NUMBER, TRAILER_DATE) r ' ||
    'FROM logfc10t ' ||
    'WHERE DPC_CODE_ORIG = :IN_DPC_CODE ' ||
    'AND SENSOR_ID = :IN_SENSOR_ID ' ||
    'AND (((TRAILER_DATE >= TO_DATE(:IN_TRAILER_DATE, ''YYYYMMDDHH24MISS''))' ||
    'AND (LAST_BLOCK_NUMBER > :IN_LAST_BLOCK_NUMBER)) ' ||
    ' OR (TRAILER_DATE > TO_DATE(:IN_TRAILER_DATE, ''YYYYMMDDHH24MISS'')))) ' ||
    'WHERE r = 1 ';
    DBMS_OUTPUT.PUT_LINE('**** ' );
    DBMS_OUTPUT.PUT_LINE('**** BEFORE execute immediate Line: ');
    -- p(sql_stmt);
    -- Put_Xl_line(sql_stmt);
    DBMS_OUTPUT.PUT_LINE('**** ' );
    BEGIN
    EXECUTE IMMEDIATE sql_stmt
    INTO OUT_ROWNUM, OUT_DPC_CODE_ORIG, OUT_SENSOR_ID, OUT_HEADER_DATE,
    OUT_FIRST_BLOCK_NUMBER, OUT_LAST_BLOCK_NUMBER, OUT_RECORD_QUANTITY,
    OUT_FILE_ID, OUT_FILE_NAME, OUT_TRACE_SEQUENCE_NO, OUT_TRAILER_DATE,
    OUT_PROCESSED_DATE, OUT_ROW_NUMBER
    USING :IN_DPC_CODE, :IN_SENSOR_ID, :IN_TRAILER_DATE, :IN_LAST_BLOCK_NUMBER;
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('**** ' );
    DBMS_OUTPUT.PUT_LINE('**** IMMED ' || sqlcode || ' ' || substr(sqlerrm,1,200));
    DBMS_OUTPUT.PUT_LINE('**** ' );
    END;
    DBMS_OUTPUT.PUT_LINE('**** ' );
    DBMS_OUTPUT.PUT_LINE('**** AFTER execute immediate Line: ');
    DBMS_OUTPUT.PUT_LINE('**** ' );
    DBMS_OUTPUT.PUT_LINE ('*** Next Line: ' || OUT_ROWNUM || OUT_DPC_CODE_ORIG || OUT_SENSOR_ID ||
    OUT_HEADER_DATE || OUT_FIRST_BLOCK_NUMBER || OUT_LAST_BLOCK_NUMBER ||
    OUT_RECORD_QUANTITY || OUT_FILE_ID || OUT_FILE_NAME ||
    OUT_TRACE_SEQUENCE_NO || OUT_TRAILER_DATE || OUT_PROCESSED_DATE || OUT_ROW_NUMBER);
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('**** ' );
    DBMS_OUTPUT.PUT_LINE('**** ERROR ' || sqlcode || ' ' || substr(sqlerrm,1,200));
    DBMS_OUTPUT.PUT_LINE('**** ' );
    end;
    end tab_select;
    set serveroutput on
    exec tab_select('OMAN', '612628', '993610', '20070214141700')
    --exec tab_select('OMAN', '612628', '6434', '20070214144700')
    --exec tab_select('OMAN', '612628', '13098', '20070214150200')
    --exec tab_select('OMAN', '612628', '19874', '20070214151700')
    --exec tab_select('OMAN', '612628', '33398', '20070214154700')
    -- quit

  • Exception Handling for Array Binding

    Hi
    1)
    I am using a Stored Procedure.
    I am using array binding and if i am sending an array of count 10 to be inserted in a table and only 9 got inserted,i deliberatly inserted one errorneous record in array, the count returned by ExecuteNonQuery() is 10.Why ?
    How can i come to know exact number of rows inserted in table, how can i use Output variables, because the array bind count is 10 so if i add an output parameter it gives error ArrayBind count is wrong....
    2)
    Is it possible to roll back all the inserts if error occurs in any of the insert by Oracle engine.What it does is it inserts all correct records and leaves the errorneous record and doesn't even throw any exception or any message.
    Answer - This can be achieved by using OracleTransaction and don't use Exception handling in procedure otherwise there wont be any exception thrown by procedure which is necessary to detect if an error occured during insert.If you use exception handling OracleEngine will insert correct rows and leave errorneous record and return count of inserted + non inserted records which is wrong.
    Please help.
    Message was edited by:
    user556446
    Message was edited by:
    user556446

    You'll need to encapsulate your validation within it's own block as described below:
    -- this will die on the first exception
    declare
      TYPE T_BADDATA_TEST IS TABLE OF VARCHAR2(1000) INDEX BY binary_integer ;
      tbt T_BADDATA_TEST ;
      aBadTypeFound exception ;
    begin
       tbt(0) := 'a';
       tbt(1) := 'b';
       tbt(2) := 'c';
        for idx in tbt.first..tbt.last loop
          if tbt(idx) =  'b' then
              raise aBadTypeFound ;     
          else
              dbms_output.put_line(tbt(idx));     
          end if  ;
        end loop ;
    end ;--encapsulate the exception area in a begin/end block to handle the exception but continue on
    declare
      TYPE T_BADDATA_TEST IS TABLE OF VARCHAR2(1000) INDEX BY binary_integer ;
      tbt T_BADDATA_TEST ;
      aBadTypeFound exception ;
    begin
       tbt(0) := 'a';
       tbt(1) := 'b';
       tbt(2) := 'c';
        for idx in tbt.first..tbt.last loop
          BEGIN
          if tbt(idx) =  'b' then
              raise aBadTypeFound ;     
          else
              dbms_output.put_line(tbt(idx));     
          end if  ;
          EXCEPTION
            WHEN aBadTypeFound THEN
                dbms_output.put_line(tbt(idx) || ' is bad data');       
            WHEN OTHERS THEN
                dbms_output.put_line('exception');       
          END ;
        end loop ;
    end ;
    output:
    a
    b is bad data
    c
    ***/

  • . NET to call Oracle stored procedure, use an array of types of parameters

    . NET to call Oracle stored procedure, use an array of types of parameters
    Step1:(In the Oracle database define an array of types)
    CREATE OR REPLACE TYPE STRING_VARRAY AS VARRAY (1000) OF NVARCHAR2(255)
    Step2:
    CREATE OR REPLACE PROCEDURE Test
    (i_test in string_varray,o_result out int)
    IS
    BEGIN
    o_result:=i_test.count;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    NULL;
    WHEN OTHERS
    THEN
    o_result:=0;
    END arraytest;
    Step3:
    Use System.Data.OracleClient
    C# Code:
    OracleConnection conn = new OracleConnection("User Id=test;Password=test;Data Source=test");
    OracleCommand cmd = new OracleCommand("Test", conn);
    cmd.CommandType = CommandType.StoredProcedure;
    string[] str = new string[] { "11", "22" };
    OracleParameter p1 = new OracleParameter("i_test", OracleType.NVarChar);
    p1.Direction = ParameterDirection.Input;
    p1.Value = str;
    cmd.Parameters.Add(p1);
    OracleParameter p2 = new OracleParameter("o_result", OracleType.Int32);
    p2.Direction = ParameterDirection.Output;
    cmd.Parameters.Add(p2);
    int i = 0;
    try
    conn.Open();
    cmd.ExecuteNonQuery();
    i =(int) p2.Value;
    catch (Exception ex)
    finally
    conn.Close();
    Error:
    Execution Failed:ORA-06550:Line 1,Column 7:
    PLS-00306:Test parameters when calling the number or types of errors
    ORA-06550:Line 1,Column 7:
    PL/SQL:Statement ignored
    Edited by: user10133982 on Jun 4, 2009 7:13 AM

    . NET to call Oracle stored procedure, use an array of types of parameters
    The use of ODP.net(Oracle 10g), the error is still the same
    Step1:(In the Oracle database define an array of types)
    CREATE OR REPLACE TYPE STRING_VARRAY AS VARRAY (1000) OF NVARCHAR2(255)
    Step2:
    CREATE OR REPLACE PROCEDURE Test
    (i_test in string_varray,o_result out int)
    IS
    BEGIN
    o_result:=i_test.count;
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    NULL;
    WHEN OTHERS
    THEN
    o_result:=0;
    END arraytest;
    Step3:
    ODP.NET(Oracle 10g)
    OracleConnection conn = new OracleConnection("User Id=test;Password=test;Data Source=test");
    OracleCommand cmd = new OracleCommand("Test", conn);
    cmd.CommandType = CommandType.StoredProcedure;
    string[] str = new string[2] { "11", "222" };
    cmd.ArrayBindCount=2;
    OracleParameter p1 = new OracleParameter("i_test", OracleDbType.NVarChar);
    p1.Direction = ParameterDirection.Input;
    p1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
    p1.Value = str;
    p1.ArrayBindSize=new int[2]{2,3};
    p1.ArrayBindStatus = new OracleParameterStatus[2]{
    OracleParameterStatus.Success,
    OracleParameterStatus.Success
    cmd.Parameters.Add(p1);
    OracleParameter p2 = new OracleParameter("o_result", OracleDbType.Int32);
    p2.Direction = ParameterDirection.Output;
    P2.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
    p2.Value=0;
    cmd.Parameters.Add(p2);
    int i = 0;
    try
    conn.Open();
    cmd.ExecuteNonQuery();
    i =(int) p2.Value;
    catch (Exception ex)
    finally
    conn.Close();
    Error:
    Execution Failed:ORA-06550:Line 1,Column 7:
    PLS-00306:Test parameters when calling the number or types of errors
    ORA-06550:Line 1,Column 7:
    PL/SQL:Statement ignored
    Edited by: user10133982 on Jun 5, 2009 7:48 AM

  • Passing array of Types to java class

    I am trying to pass a user defined type (that is an array) from PL/Sql to a javaclass. Here are the definitions that make-up the parameter to pass from PL/Sql to Java (uri_digest_array):
    CREATE OR REPLACE TYPE uri_digest as object (uri VARCHAR2(256),
    digest_value CLOB);
    CREATE OR REPLACE TYPE uri_digest_array AS VARRAY(10) OF uri_digest;
    In Oracle-land, java classes are published to PL/Sql by way of the following definition. Note that the intent here is to have compatible data-types.
    CREATE OR REPLACE FUNCTION SIGNRETURNINGXML (p_array IN uri_digest_array)
    RETURN LONG
    AS LANGUAGE JAVA
    NAME 'SignReturningXml.main(oracle.sql.Array) return java.lang.String';
    Here is a fragment of the java class code:
    class SignReturningXml {
    public static String main(String [] [] signItems ) // I have no idea what datatype to use here!
    { . . . . The code in here would process the passed array normally from first entry to last.
    Currently I get the following error:
    PLS-00311: the declaration of
    "SignReturningXml.main(oracle.sql.Array) return
    java.lang.String" is incomplete or malformed
    I could use some suggestions on resolving the datatype conflicts. Any ideas? Has anyone tried this kind of thing?
    Thanks,
    Michael

    Michael,
    At the risk of another [non] useful response, I meant that you should try searching the "Ask Tom" Web site, because usually you will find an answer to your question that has already been asked by someone else. Perhaps these will be helpful:
    [url=http://asktom.oracle.com/pls/ask/f?p=4950:8:1320383202207153292::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:8908169959941
    ]Can I Pass a nested table to Java from a pl/sql procedure
    [url=http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:712625135727
    ]passing arrays into pl/sql stored procedures
    Good Luck,
    Avi.

  • Insert SDO_GEOMETRY using array binding

    Hi,
    does anyone know howto insert the elem_info array and the ordinates array of a SDO_GEOMETRY object using array binding and ODP or if there is a way to insert the SDO_GEOMETRY object using the same technique.
    /Anders

    The current releases of ODP.NET do not support object types, hence no "proper" SDO_GEOMETRY support. You can retrieve the data as an XML-type as illustrated here:
    Re: ODP.Net + Spatial
    I know of no way to insert an SDO_GEOMETRY object using array binding at this time.
    If someone else has a solution, please do post!
    - Mark

Maybe you are looking for

  • Creating multiple entries in ztable with the same name

    Dear sir / madam, iam new in sap-abap , i have created ztable in se11, table name zrajesh and fields i have created zemp_name and zempid which has data element and domain also. and zprice. when iam creating entries in table mataince generator eg: zem

  • Paying company code

    Hello All,    Has anybody here used Paying Company codes? I have two company codes 3000 and 9123. The Paying company code for 9123 is 3000 (this can be setup in transaction FBZP->All company codes). I created two Non-PO invoices (FB60) for each compa

  • What are the steps to downlaod video from youtube?

    i wish to downlaod movies from youtube site but couldn't due to i am new on firefox website.

  • I need to transfer CS4 from my old MacBook to my new one, but get error 150:30.

    Have the discs, have the serial number, have the programs transferred to my external drive and even installed on the new Mac, but when I double-click to open any of the programs, I get error code 150:30 and cannot get the program open. What I'd like

  • Photoshop 6 - slow saving process to server

    Suddenly, after working with Photoshop 6 a few weeks, it takes 2-5 minutes to save a photoshop document to our server. Saving the file directly to the desktop just takes a second. The files are not heavy, only 60-100 mb. I´m not 100% sure, but I thin