Type Mismatch using Implicit Cursor

The actual error I get is
PLS-00386: type mismatch found at 'EMP_REC' between FETCH cursor and INTO variables
I have copied the code in below (taken some logic out to make example easier). I think the problem is with the EMP_REC CHILDKNOWDES declaration - I dont think I need to add %ROWTYPE? Is the type mismatch a case of trying to parse an int into a string (which i have checked for), or a case of the object being stored with attributes in dif order (alphabetical?), or is something more sinister going on?
CREATE OR REPLACE TYPE &HKDB_Schema_Name..CHILDKNOWDES AS OBJECT
KnowdeID INT,
Description varchar2(512),
Connector CHAR(1),
WhyCount INT
CREATE OR REPLACE TYPE &HKDB_Schema_Name..TEMP_CHILDKNOWDES_TABLE AS TABLE OF &HKDB_Schema_Name..CHILDKNOWDES;
CREATE OR REPLACE PROCEDURE &HKDB_Schema_Name..QueryChildKnowdes
aKnowdeID int,
aCur out sys_refcursor
AS
l_ChildKnowdeTable TEMP_CHILDKNOWDES_TABLE := TEMP_CHILDKNOWDES_TABLE();
EMP_REC CHILDKNOWDES;
BEGIN
     DECLARE CURSOR c1 is SELECT k.KnowdeID, k.Description, KnowdeAssociation.Connector
        FROM Knowde k
        INNER JOIN KnowdeAssociation ka on ka.KnowdeID = k.KnowdeID
BEGIN
     OPEN c1;
     FETCH c1 INTO EMP_REC;    --error
     WHILE c1%FOUND
     LOOP
     BEGIN
          QueryWhyCount(EMP_REC.KnowdeID, aWhyCountResult);
             l_ChildKnowdeTable.extend;
          l_ChildKnowdeTable(l_ChildKnowdeTable.last) := CHILDKNOWDES
          (EMP_REC.KnowdeID,
          EMP_REC.Description,
          EMP_REC.Connector,
          aWhyCountResult);
          FETCH c1 INTO EMP_REC;    --error
     END;
     END LOOP;
     END;
END QueryChildKnowdes;Thanks in advance,
Toby

Knowde
Name                                      Null?    Type
KNOWDEID                                  NOT NULL NUMBER(10)
VERBID                                    NOT NULL NUMBER(10)
NOUNID                                    NOT NULL NUMBER(10)
KGID                                      NOT NULL NUMBER(10)
DATECREATED                               NOT NULL DATE
DESCRIPTION                                        VARCHAR2(51
UDRID                                              NUMBER(10)
UVRID                                              NUMBER(10)
RESOURCEID                                         NUMBER(10)
VERSIONID                                          NUMBER(10)
CHECKEDOUT                                         NUMBER(1)
CLIENTKNOWDEID                                     NUMBER(10)
GENERICKNOWDEID                                    NUMBER(10)
SOURCEKNOWDEID                                     NUMBER(10)
UNEDITABLE                                         NUMBER(1)
DATEUPDATED                               NOT NULL DATE
PREVIOUSKNOWDEID                                   NUMBER(10)KnowdeAssociation
Name                                      Null?    Type
KNOWDEASSOCIATIONID                       NOT NULL NUMBER(10)
HOWID                                     NOT NULL NUMBER(10)
WHYID                                     NOT NULL NUMBER(10)
CONNECTOR                                          CHAR(1)
HOWCHAINPOSITION                                   NUMBER(10)
WHYCHAINPOSITION                                   NUMBER(10)

Similar Messages

  • Difference between implicit cursor and explicit cursor.

    hi all,
    i have used explicit cursor, i know the way of using implicit cursor, but i don't what the difference between both.
    Is they both are different. if yes y? which cursor is most reliable to use.
    please tell me..
    Thanks..

    OK,
    1- An IMPLICIT cursor is automatically declared by Oracle every time an SQL statement is executed The user will not be aware of this happening and will not be able to control or process
    the information in an implicit cursor.
    Example:
    SET SERVEROUTPUT ON
    BEGIN
    UPDATE Customers
    SET Cust_name = 'B'
    WHERE Cust_name LIKE 'B%';
    DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT);
    END;
    2- An EXPLICIT cursor is defined by the program for any query that returns more than one row of data.
    That means the programmer has declared the cursor within the PL/SQL code block. This declaration allows for the application to sequentially process each row of data as it is returned by the cursor.
    Example :
    DECLARE
    CURSOR C_MyCursor IS
    SELECT *
    FROM bookings
    WHERE Cust_no = 701;
    see this post
    http://comsci.liu.edu/~vasilaky/db2/cursors.htm :-)

  • Type Mismatch error while saving a BPC Report using eTools

    Hi,
    Iam getting a 'type mismatch' error when trying to save a BPC Excel  workbook using eTools>Save Dynamic Template >Company>eExcel. I am saving it as an .xlsx file.
    Can anyone please help out and let me know why I am getting this error.
    Thanks
    Arvind

    Hi,
    You need to save the file as .xls extension.

  • "Type mismatch" error in IE7/8 when using custom Actions Menu Image

    Hi all,
    in APEX 4.2: when using a custom image in the "Actions Menu Image" attribute in an interactive report, I get a "Type mismatch" error in IE7/8 when refreshing the report through PPR (filtering, sorting, paginating etc.). When I leave the "Actions Menu Image" field empty, everything works fine. The error doesn't seem to happen in IE9 (unless using compatibility mode), or in any non-IE browser.
    I've been able to reproduce the issue in an application on apex.oracle.com:
    http://apex.oracle.com/pls/apex/f?p=69347:1
    Some debugging seems to indicate that the following line in widget.interactiveReport.js is the culprit:
    lTemp.parentNode.replaceChild($x('apexir_WORKSHEET'), lTemp);Does anybody know if this is a known issue, or if there is some workaround?
    Thanks,
    Tobias

    Hi,
    Great solution Paul! It cost me a while before I found out the Action Menu Image was causing my interactive reports to stop refreshing in IE10 and not other browsers. Your solution works great, I've implemented it with a few minor adjustments:
    - Put the css in report template (for some reason it didn't work in our own application stylesheet)
    - replace  'url("/c/action_dropdown.gif")' with 'url("&APP_IMAGE_PREFIX./<path_to_image>")'
    - place one dynamic action on page 0: after refresh of '#apexir_DATA_PANEL' , set event scope to "Dynamic".
    - Let the Dynamic action also fire on page load.
    - To make sure the dynamic action only works for pages with an interactive report add condition of type 'Exists' with expression:
    select 1
    from   dual
    where  :APP_PAGE_ID in (select page_id
                                            from   apex_application_page_ir
                                            where  application_id = :APP_ID
    Best regards,
    Vincent Deelen

  • Problem in using String in Implicit Cursor

    Hi,
    I am facing problem in using String in Implicit Cursor:
    I have initialise
    DECLARE
    v_grant varchar2(4000);
    begin
    v_grant:='SELECT TABLE_NAME FROM DUMP_USER_TABLES WHERE TABLE_NAME LIKE ';
    FOR obj IN (SELECT v_grant||'''BS%''' FROM dual) LOOP
    V_REVOKE:='REVOKE ALL ON ' || 'obj.TABLE_NAME' || ' FROM ' || '''TEST''';
    DBMS_OUTPUT.PUT_LINE('THE REVOKE STATEMENT IS'||V_REVOKE);
    num := num + 1;
    END LOOP;
    END;
    I am not getting the value from obj.TABLE_NAME its coming as 'obj.TABLE_NAME'
    Kindly anyhelp will be needful for me

    Besides from what Sybrand already pointed out clearly:
    Your example doesn't run at all:
    MHO%xe> DECLARE
      2  v_grant varchar2(4000);
      3  begin
      4  v_grant:='SELECT TABLE_NAME FROM DUMP_USER_TABLES WHERE TABLE_NAME LIKE ';
      5  FOR obj IN (SELECT v_grant||'''BS%''' FROM dual) LOOP
      6  V_REVOKE:='REVOKE ALL ON ' || 'obj.TABLE_NAME' || ' FROM ' || '''TEST''';
      7  DBMS_OUTPUT.PUT_LINE('THE REVOKE STATEMENT IS'||V_REVOKE);
      8  num := num + 1;
      9  END LOOP;
    10  END;
    11  /
    V_REVOKE:='REVOKE ALL ON ' || 'obj.TABLE_NAME' || ' FROM ' || '''TEST''';
    FOUT in regel 6:
    .ORA-06550: line 6, column 1:
    PLS-00201: identifier 'V_REVOKE' must be declared
    ORA-06550: line 6, column 1:
    PL/SQL: Statement ignored
    ORA-06550: line 7, column 49:
    PLS-00201: identifier 'V_REVOKE' must be declared
    ORA-06550: line 7, column 1:
    PL/SQL: Statement ignored
    ORA-06550: line 8, column 1:
    PLS-00201: identifier 'NUM' must be declared
    ORA-06550: line 8, column 1:
    PL/SQL: Statement ignoredI guess you need to read up on quoting strings properly and probably also dynamic SQL.
    But:
    WHAT are you trying to do anyway?
    I cannot parse your code at all...so what is your requirement in human language?

  • Type mismatch errors in 10g

    I have migrated an 8i database to 10g 10.2.0.3. I am getting a compile error on a procedure which is now INVALID referencing a package which compiles ok and is VALID. The compile error I get on the procedure is:
    PLS-00386: type mismatch found at 'PIO_TBLMVR' between FETCH cursor and INTO variables.
    The into variables are below. The fetch cursor is trying to fetch a NULL into a BOOLEAN using the definition of the record below.
    TYPE r_MasterRecord IS RECORD (
    v_bMVR_DuplicateDriver BOOLEAN,
    v_bWPC_Match BOOLEAN);
    This is the select statement for the CURSOR:
    SELECT NULL, NULL
    FROM mvr_report r;
    If I change the BOOLEAN to a NUMBER it works. What am I doing wrong or can't I do this in 10g??

    It is not true.
    Boolean variable can be assigned a value NULL in pl sql.
    The compile error is due to usage of boolean type in the select statement, because SQL doesn't support a boolean type.
    The fact, that it worked in 8i ( can't test actually) is probably due to weak/wrong type tests
    which was corrected in newer release.
    Best regards
    Maxim

  • Avoid procedure or function calls between a SQL operation and an implicit cursor test

    when i analyse this code with code expert

    atpidgeon wrote:
    when i analyse this code with code expert
                            UPDATE P_PM_CONTROL_COUNT
                            SET AVAIL_SEG = AVAIL_SEG -1,
                                ALLOCATION = ALLOCATION -1
                            WHERE PM_UNIT_TYPE_ID = vrectab(1)
                            AND USAGE_DATE = vrectab(2)
                            AND SEGMENT_CODE = vrectab(5)
                            AND ALLOCATION - UNITS_RESERVED > 0;
                            IF sql%rowcount = 0 then --Added block and exception to prevent invetory going negative when placing multi units in same unit type out of service.
                                vErrMsg := 'Could not process your out of service request because your selection for unit '|| vrectab(3) || ' at ' || pvPropertyId || ' for ' || vrectab(2) || ' would cause segment ' || vrectab(5) || ' to be over allocated.';
                                RAISE SegOverAllocated;
                            END IF;
    i get "Avoid procedure or function calls between a SQL operation and an implicit cursor test.",as far has i know
    iff you're doing a sql%rowcount    after an update.. trying to see how many rows were updated...  you dont want procedure or function calls between the update and the sql% line
    correct me if im wrong and how would i fix it?or maybe i shouldnt
    You correct it by NOT executing function calls as part of the UPDATE statement.
    1. Issue the function calls BEFORE the update statement
    2. save the function results into variables
    3. use those variables in the UPDATE statement.
    v_rectab1 := vrectab(1);
    v_rectab2 := vrectab(21);
    v_rectab5 := vrectab(5);
    UPDATE P_PM_CONTROL_COUNT 
                            SET AVAIL_SEG = AVAIL_SEG -1,
                                ALLOCATION = ALLOCATION -1
                            WHERE PM_UNIT_TYPE_ID = v_rectab1
                            AND USAGE_DATE = v_rectab2
                            AND SEGMENT_CODE = v_rectab5
                            AND ALLOCATION - UNITS_RESERVED > 0;

  • Error type mismatch unparseable number

    we are upgrading to crystal 2008 and i am running my report thru info view using activex viewer  - i have some parameters that i check set to null values when i do this i get the following
    error
    error type mismatch unparseable number
    this report calls a store procedure
    has anyone seen this error

    Hi Dilia,
    I'm not sure if I understand you correct. You are upgarding to CR2008 but running your reports through infoview active X viewer. Do you mean you created your reports in CR2008 and exported them to your BOE XIR3 enterprise system and you face the problem there?
    Coudl you clarify this please and let me know which BOE version you use?
    Re. the stored procedure....
    If you got a SP with IN parameters (see example below) please make sure you handle actually parameters with NULL values in your SP.
    Create procedure test (IN Name VARCHAR(30))
    P1:BEGIN
         DECLARE CURSOR ....
         IF (NAME IS NULL) THEN
             set dynstatement = 'select * from testtable';

  • Type Mismatch error while calling a Java Function from Visual Basic 6.0...

    Hi,
    I'm having a problem in calling the Java Applet's Function from Visual Basic. First, I'm getting the handle of the Java Applet and components of it using "Document.Applets(n)" which is a HTML function. I'm calling this function from Visual Basic. My code is something like this...
    ' // Web1 is IE Browser in my Form.
    Dim Ap,Comp
    Dim Bol as Boolean
    Bol = true
    Ap = Web1.Document.Applets(0).getWindow() ' \\ Gets the Parent Window.
    Ap.setTitle("My Java Applet") ' \\ Sets the Title of the window.
    msgbox Ap.getVisibility() ' \\ This will return a Java boolean ( true or false )
    Ap.setVisibility(Bol) ' \\ Function Syntax is : void setVisibility(boolean b)
    Here in my code , i'm able to call any function that which accepts Integer or String but not boolean. So, i m facing problem with Ap.setVisibility() function. It gives me a "Type mismatch error" while executing it. Can you please tell me a way to do this from Visual Basic !
    I'm using Visual Basic 6.0, Windows 2000 , J2SDK 1.4.2_05.
    Please help me Friends.
    Thanks and Regards,
    Srinivas Annam.

    Hi
    I am not sure about this solution. try this
    Declare a variable as variant and store the boolean value in that variable and then use in ur method.
    Post ur reply in this forum.
    bye for now
    sat

  • Closing an implicit cursor

    Hi,
    Can anyone let me know how to close an implicit cursor opened for every individual sql statement? Please note that I am talking about the implicit cursor, not the explicit cursor. I am reaching the maximum open cursor limit and I don't want to increase the open_cursor parameter further as i have already set it a very big value (10000). Rather I would like to know how to close the implicit cursors opened by oracle itself.
    Please help.
    Thanks in advance.

    Thanks for your advice. In fact we have already
    started re-constructing our coding using explicit
    cursor. But the thing is even if the implicit cursors
    are kept open till the session ending, it should be
    closed when the maximum open_cursor limit is reached
    by oracle itself.
    The work arroud is well accepted, but I am very eager
    to know whether somehow implicit cursor can be closed
    or not.You have cursor leaks in your application. Are you closing the cursors? In JDBC (I know you said VB.Net but I don't know much about VB) you call the close method on the Statement objects. May be you are closing most of the cursors but a few are not being closed. In that case, the number of open cursors will slowly creep up to a high number. How often does this error come up? How long before you start seeing it?
    Also, take a look at the v$open_cursor view (using your session SID) when you get the error and see if there are certain statements that are repeated a ton of times. This could help you find those statements that are not closed by the application.
    Also note, there is a dbms_sql.close_cursor method. Check it out:
    http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96590/adg09dyn.htm#26799
    -Raj

  • Type mismatch on SOAP Web Service method invocation

    When I run the generated client for a web service, I get the following error, which I can get rid of by using a primitive type (e.g. String) as the parameter to doSomething instead of wstest.test2.APIClass3, i.e. the SOAP server seems happy handling wstest.test2.APIClass1 as a return type, but not a similar class as a parameter type:
    [SOAPException: faultCode=SOAP-ENV:Server; msg=type mismatch [java.lang.IllegalArgumentException]]
         wstest.test2.APIClass1 wstest.test2.EmbeddedStatelessTest2Stub.doSomething(wstest.test2.APIClass3)
              EmbeddedStatelessTest2Stub.java:89
         void wstest.test2.EmbeddedStatelessTest2Stub.main(java.lang.String[])
              EmbeddedStatelessTest2Stub.java:48
    I am using JDeveloper9i 9.0.3 Preview and the standalone OC4J 9.0.3 that came with it. I followed the Oracle9i JDeveloper 9.0.3 Web Services Quickstart Install (http://otn.oracle.com/tech/webservices/htdocs/quickstart/quickstart903.html) to get OC4J running standalone. I had to register the stateless EJB provider, and the WEB services wizard didn't manage to include APIClass2 (an instance of which is contained in APIClass1) in the .dd so I added it manually which works fine with APIClass1 as the method return type.
    Sorry for the length of this posting, but I wasn't sure which bits would be relevant.
    WSDL
    ====
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!--Generated by the Oracle9i JDeveloper Web Services WSDL Generator-->
    <!--Date Created: Wed Sep 11 15:54:08 BST 2002-->
    <definitions
    name="StatelessTest2"
    targetNamespace="http://wstest/test2/StatelessTest2.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://wstest/test2/StatelessTest2.wsdl"
    xmlns:ns1="http://wstest.test2/IStatelessTest2.xsd">
    <types>
    <schema
    targetNamespace="http://wstest.test2/IStatelessTest2.xsd"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <complexType name="wstest_test2_APIClass3" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    <all>
    <element name="Name" type="string"/>
    <element name="Value" type="double"/>
    </all>
    </complexType>
    <complexType name="wstest_test2_APIClass1" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    <all>
    <element name="Name" type="string"/>
    <element name="Value" type="double"/>
    <element name="APIClass2" type="ns1:wstest_test2_APIClass2"/>
    </all>
    </complexType>
    <complexType name="wstest_test2_APIClass2" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    <all>
    <element name="IntegerValue" type="int"/>
    <element name="DoubleValue" type="double"/>
    <element name="Name" type="string"/>
    </all>
    </complexType>
    </schema>
    </types>
    <message name="doSomething0Request">
    <part name="p0" type="ns1:wstest_test2_APIClass3"/>
    </message>
    <message name="doSomething0Response">
    <part name="return" type="ns1:wstest_test2_APIClass1"/>
    </message>
    <portType name="StatelessTest2PortType">
    <operation name="doSomething">
    <input name="doSomething0Request" message="tns:doSomething0Request"/>
    <output name="doSomething0Response" message="tns:doSomething0Response"/>
    </operation>
    </portType>
    <binding name="StatelessTest2Binding" type="tns:StatelessTest2PortType">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="doSomething">
    <soap:operation soapAction="" style="rpc"/>
    <input name="doSomething0Request">
    <soap:body use="encoded" namespace="wstest.test2.StatelessTest2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </input>
    <output name="doSomething0Response">
    <soap:body use="encoded" namespace="wstest.test2.StatelessTest2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </output>
    </operation>
    </binding>
    <service name="StatelessTest2">
    <port name="StatelessTest2Port" binding="tns:StatelessTest2Binding">
    <soap:address location="http://localhost:8888/soap/servlet/soaprouter"/>
    </port>
    </service>
    </definitions>
    Deployment Decriptor
    ====================
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!--Generated by the Oracle9i JDeveloper Web Services Deployment Descriptor Generator-->
    <!--This Deployment Descriptor file is for use with the Oracle9iAS Release 2 / Apache 2.2 SOAP Server SOAP Server-->
    <!--Date Created: Wed Sep 11 15:54:09 BST 2002-->
    <isd:service
    id="wstest.test2.StatelessTest2"
    type="rpc"
    xmlns:isd="http://xmlns.oracle.com/soap/2001/04/deploy/service">
    <isd:provider
    id="stateless-ejb-provider"
    methods="doSomething"
    scope="Request">
    <isd:option key="JNDILocation" value="StatelessTest2"/>
    <isd:option key="DeploymentName" value="StatelessTest2"/>
    </isd:provider>
    <isd:faultListener
    class="org.apache.soap.server.DOMFaultListener"/>
    <isd:mappings>
    <isd:map
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:x="http://wstest.test2/IStatelessTest2.xsd"
    qname="x:wstest_test2_APIClass1"
    javaType="wstest.test2.APIClass1"
    java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
    xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
    <isd:map
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:x="http://wstest.test2/IStatelessTest2.xsd"
    qname="x:wstest_test2_APIClass2"
    javaType="wstest.test2.APIClass2"
    java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
    xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
    <isd:map
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:x="http://wstest.test2/IStatelessTest2.xsd"
    qname="x:wstest_test2_APIClass3"
    javaType="wstest.test2.APIClass3"
    java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
    xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
    </isd:mappings>
    </isd:service>
    StatelesTest2.java
    ==================
    package wstest.test2;
    import javax.ejb.EJBObject;
    import java.rmi.RemoteException;
    public interface StatelessTest2 extends EJBObject {
    * @webmethod
    APIClass1 doSomething(APIClass3 p0) throws RemoteException;
    StatelessTest2Bean.java
    =======================
    package wstest.test2.impl;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import wstest.test2.APIClass1;
    import wstest.test2.APIClass2;
    import wstest.test2.APIClass3;
    public class StatelessTest2Bean implements SessionBean {
    public void ejbCreate() {
    public void ejbActivate() {
    public void ejbPassivate() {
    public void ejbRemove() {
    public void setSessionContext(SessionContext ctx) {
    public APIClass1 doSomething(APIClass3 p0) {
    APIClass1 ac1 = new APIClass1();
    ac1.setName(p0.getName() + "1");
    ac1.setValue(p0.getValue());
    APIClass2 ac2 = ac1.getAPIClass2();
    ac2.setName(p0.getName() + "2");
    ac2.setIntegerValue(new Integer(ac1.getValue().intValue()));
    ac2.setDoubleValue(new Double(ac1.getValue().doubleValue() * 2.0));
    return ac1;
    EmbeddedStatelessTest2Stub.java
    ===============================
    I change the http port from 8988 to 8888 to get this working. Also, the generated referenced a new class APIClass31, also generated, but as it didn't make any difference to the problem I replaced it with APIClass3, which has essentially the same characteristics.
    package wstest.test2;
    import oracle.soap.transport.http.OracleSOAPHTTPConnection;
    import org.apache.soap.encoding.soapenc.BeanSerializer;
    import org.apache.soap.encoding.SOAPMappingRegistry;
    import org.apache.soap.util.xml.QName;
    import java.net.URL;
    import org.apache.soap.Constants;
    import org.apache.soap.Fault;
    import org.apache.soap.SOAPException;
    import org.apache.soap.rpc.Call;
    import org.apache.soap.rpc.Parameter;
    import org.apache.soap.rpc.Response;
    import wstest.test2.*;
    import java.util.Vector;
    import java.util.Properties;
    import wstest.test2.APIClass1;
    import wstest.test2.APIClass2;
    import wstest.test2.APIClass3;
    * Generated by the Oracle9i JDeveloper Web Services Stub/Skeleton Generator.
    * Date Created: Wed Sep 11 15:41:19 BST 2002
    * WSDL URL: file:/C:/Projects/WSTest/Test2/src/wstest/test2/StatelessTest2.wsdl
    public class EmbeddedStatelessTest2Stub
    public EmbeddedStatelessTest2Stub()
    m_httpConnection = new OracleSOAPHTTPConnection();
    m_smr = new SOAPMappingRegistry();
    BeanSerializer beanSer = new BeanSerializer();
    m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("http://wstest.test2/IStatelessTest2.xsd", "wstest_test2_APIClass1"), wstest.test2.APIClass1.class, beanSer, beanSer);
    m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("http://wstest.test2/IStatelessTest2.xsd", "wstest_test2_APIClass2"), wstest.test2.APIClass2.class, beanSer, beanSer);
    m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("http://wstest.test2/IStatelessTest2.xsd", "wstest_test2_APIClass3"), wstest.test2.APIClass3.class, beanSer, beanSer);
    public static void main(String[] args)
    try
    EmbeddedStatelessTest2Stub stub = new EmbeddedStatelessTest2Stub();
    // Add your own code here.
    APIClass3 ac3 = new APIClass3();
    ac3.setName("fred");
    ac3.setValue(new Double(17.36));
    printAPIClass3("Input", ac3);
    APIClass1 retAc1 = stub.doSomething(ac3);
    printAPIClass1("Return", retAc1);
    catch(Exception ex)
    ex.printStackTrace();
    public String endpoint = "http://172.25.1.176:8888/soap/servlet/soaprouter";
    private OracleSOAPHTTPConnection m_httpConnection = null;
    private SOAPMappingRegistry m_smr = null;
    public APIClass1 doSomething(APIClass3 p0) throws Exception
    APIClass1 returnVal = null;
    URL endpointURL = new URL(endpoint);
    Call call = new Call();
    call.setSOAPTransport(m_httpConnection);
    call.setTargetObjectURI("wstest.test2.StatelessTest2");
    call.setMethodName("doSomething");
    call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
    Vector params = new Vector();
    params.addElement(new Parameter("p0", wstest.test2.APIClass3.class, p0, null));
    call.setParams(params);
    call.setSOAPMappingRegistry(m_smr);
    Response response = call.invoke(endpointURL, "");
    if (!response.generatedFault())
    Parameter result = response.getReturnValue();
    returnVal = (APIClass1)result.getValue();
    else
    Fault fault = response.getFault();
    throw new SOAPException(fault.getFaultCode(), fault.getFaultString());
    return returnVal;
    private static void printAPIClass3(String prefix, APIClass3 ac3)
    System.out.println(prefix + ": [" + ac3.getName() + ", " + ac3.getValue() + "]");
    private static void printAPIClass1(String prefix, APIClass1 ac1)
    APIClass2 ac2 = ac1.getAPIClass2();
    System.out.println(prefix + ": [" + ac1.getName() + ", " + ac1.getValue() + " ["
    + ac2.getName() + ", " + ac2.getIntegerValue() + ", " + ac2.getDoubleValue()
    + "]]");
    public void setMaintainSession(boolean maintainSession)
    m_httpConnection.setMaintainSession(maintainSession);
    public boolean getMaintainSession()
    return m_httpConnection.getMaintainSession();
    public void setTransportProperties(Properties props)
    m_httpConnection.setProperties(props);
    public Properties getTransportProperties()
    return m_httpConnection.getProperties();
    APIClass1.java
    ==============
    package wstest.test2;
    import java.io.Serializable;
    public class APIClass1 implements Serializable {
    private String name;
    private Double value;
    private APIClass2 apiClass2;
    public APIClass1() {
    name = new String("");
    value = new Double(0.0);
    apiClass2 = new APIClass2();
    public String getName() {
    return name;
    public void setName(String newName) {
    name = new String(newName);
    public Double getValue() {
    return value;
    public void setValue(Double newValue) {
    value = new Double(newValue.doubleValue());
    public APIClass2 getAPIClass2() {
    return apiClass2;
    public void setAPIClass2(APIClass2 newAPIClass2) {
    apiClass2 = new APIClass2();
    apiClass2.setName(newAPIClass2.getName());
    apiClass2.setDoubleValue(newAPIClass2.getDoubleValue());
    apiClass2.setIntegerValue(newAPIClass2.getIntegerValue());
    APIClass2.java
    ==============
    package wstest.test2;
    import java.io.Serializable;
    public class APIClass2 implements Serializable {
    private String name;
    private Integer iVal;
    private Double dVal;
    public APIClass2() {
    iVal = new Integer(0);
    dVal = new Double(0.0);
    name = new String("");
    public Integer getIntegerValue() {
    return iVal;
    public void setIntegerValue(Integer newIVal) {
    iVal = new Integer(newIVal.intValue());
    public Double getDoubleValue() {
    return dVal;
    public void setDoubleValue(Double newDoubleValue) {
    dVal = new Double(newDoubleValue.doubleValue());
    public String getName() {
    return name;
    public void setName(String newName) {
    name = new String(newName);
    APIClass3.java
    ==============
    package wstest.test2;
    import java.io.Serializable;
    public class APIClass3 implements Serializable {
    private String name;
    private Double value;
    public APIClass3() {
    public String getName() {
    return name;
    public void setName(String newName) {
    name = new String(newName);
    public Double getValue() {
    return value;
    public void setValue(Double newValue) {
    value = new Double(newValue.doubleValue());
    APIClass31.java
    ===============
    package wstest.test2;
    * Generated by the Oracle9i JDeveloper Web Services Stub/Skeleton Generator.
    * Date Created: Wed Sep 11 10:44:56 BST 2002
    * <pre>
    * &lt;complexType name="wstest_test2_APIClass3" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    * &lt;all>
    * &lt;element name="Name" type="string"/>
    * &lt;element name="Value" type="double"/>
    * &lt;/all>
    * &lt;/complexType>
    * </pre>
    public class APIClass31 {
    private String m_Name;
    private Double m_Value;
    public APIClass31() {
    public APIClass31(String Name, Double Value) {
    m_Name = Name;
    m_Value = Value;
    public void setName(String Name) {
    m_Name = Name;
    public String getName() {
    return m_Name;
    public void setValue(Double Value) {
    m_Value = Value;
    public Double getValue() {
    return m_Value;

    I believe this is a bug in JDev/OC4J 9.0.3 that is being further investigated right now. I have duplicated your problem in a simpler test case and folks are looking into it.
    Mike.

  • Unable to use ref cursor as a input parameter at the time of inserting reco

    Hi
    i am unable to use ref cursor when inserting the data to oracle 11g from visual studio 2008. please help me as early as possible my code is bellows
    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Web.Configuration;
    using Oracle.DataAccess.Client;
    using Oracle.DataAccess.Types;
    public partial class App_frmTest : System.Web.UI.Page
    protected void Page_Load(object sender, EventArgs e)
    protected void btnClick_Click(object sender, EventArgs e)
    OracleCommand cmd=new OracleCommand();
    Data objdata = new Data();
    int i = 0;
    string constr = "Data Source=Cwc;User Id=scott; Password=tiger;";// enlist=false; pooling=false;
    OracleConnection con = new OracleConnection(constr);
    /*Connection Open*/
    con.Open();
    cmd.Connection = con;
    /*Connection Open End*/
    /*Select Through Ref Cursor*/
    cmd.CommandText = "scott.TEST_USER.getUSER";
    cmd.CommandType = CommandType.StoredProcedure;
    OracleParameter p_rc = cmd.Parameters.Add("p_rc", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);
    OracleParameter p_rc1;
    if (TextBox1.Text == "")
    p_rc1 = cmd.Parameters.Add("p_rc", OracleDbType.Int16, DBNull.Value, ParameterDirection.Input);
    else
    p_rc1 = cmd.Parameters.Add("p_rc", OracleDbType.Int16, Convert.ToInt16(TextBox1.Text), ParameterDirection.Input);
    // OracleParameter p_rc1 = cmd.Parameters.Add("p_rc", OracleDbType.Int16, 2, ParameterDirection.Input);
    OracleDataReader reader = cmd.ExecuteReader();
    DataSet ds = new DataSet();
    DataTable dt1 = new DataTable();
    dt1.Load(reader);
    ds.Tables.Add(dt1);
    GridView1.DataSource = ds;
    GridView1.DataBind();
    cmd.Parameters.Clear();
    con.Close();
    con.Dispose();
    OracleCommand cmd1 = new OracleCommand();
    OracleConnection con1 = new OracleConnection(constr);
    con1.Open();
    cmd1.Connection = con1;
    cmd1.CommandText = "scott.TEST_USER.ADDUSER";
    cmd1.CommandType = CommandType.StoredProcedure;
    OracleParameter P_ADDUSER = cmd1.Parameters.Add("P_ADDUSER", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Input);
    cmd1.ExecuteNonQuery(); // i am getting error when executing this line
    Server Error in '/CWC' Application.
    Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
    Exception Details: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    Source Error: 
    Line 77: OracleParameter P_ADDUSER = cmd1.Parameters.Add("P_ADDUSER", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Input);
    Line 78: //OracleParameter P_MSG = cmd.Parameters.Add("P_MSG", OracleDbType.Varchar2, DBNull.Value, ParameterDirection.Output);
    Line 79: cmd1.ExecuteNonQuery();
    Line 80:
    Line 81: DataTable dt = new DataTable();
    Source File: d:\CWC\App\frmTest.aspx.cs    Line: 79 
    Stack Trace: 
    [AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.]
    Oracle.DataAccess.Client.OpsSql.ExecuteNonQuery(IntPtr opsConCtx, IntPtr& opsErrCtx, IntPtr& opsSqlCtx, IntPtr& opsDacCtx, IntPtr opsSubscrCtx, Int32& isSubscrRegistered, Int32 bchgNTFNExcludeRowidInfo, Int32 bQueryBasedNTFNRegistration, Int64& query_id, OpoSqlValCtx*& pOpoSqlValCtx, String pCommandText, IntPtr& pUTF8CommandText, IntPtr[] pOpoPrmValCtx, String[] ppOpoPrmRefCtx, OpoMetValCtx*& pOpoMetValCtx, Int32 prmCnt, Int32 bFromPool) +0
    Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery() +4731
    App_frmTest.btnClick_Click(Object sender, EventArgs e) in d:\CWC\App\frmTest.aspx.cs:79
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

    Hi;
    Its better to ask it at visual studio forum site:http://social.msdn.microsoft.com/Forums/en-US/category/visualstudio
    Regard
    Helios

  • Question on Synonyms and Implicit Cursor

    Hi,
    I've two doubts.
    Question1:
    Why Oracle is allowing me to create a synonym even base object does not exist in database.
    For example in below example user ABC and object def doesnt exist in my database. Why I didnt get any error while creating a synonym.
    Connected to Oracle Database 11g Express Edition Release 11.2.0.2.0
    Connected as hr
    SQL> CREATE SYNONYM test_syn FOR ABC.def;
    Synonym created
    SQL> Question2:
    In PL/SQL after closing the cursor if we use any cursor attribute it will throw exception like invalid cursor. Why it is not happening in case of implicit cursor.
    Or
    Does Oracle close implicit cursor(SQL) ?
    declare
    begin
      UPDATE emp
      SET ename = 'SURI';
    COMMIT;
    dbms_output.put_line(SQL%rowcount);
    end;Many thanks for all your help.
    Cheers,
    Suri

    Suri wrote:
    Hi,
    I've two doubts.
    Question1:
    Why Oracle is allowing me to create a synonym even base object does not exist in database.
    For example in below example user ABC and object def doesnt exist in my database. Why I didnt get any error while creating a synonym.If you look in the all_dependencies view you will see that it's created as "NON-EXISTENT", so oracle knows it's non existent, it just doesn't treat it as an error.
    As it says in the documentation:
    http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_7001.htm#SQLRF01401
    A dependency is created and if the target object is changed or dropped etc. the synonym becomes invalid... but that doesn't mean it cannot exist.
    Question2:
    In PL/SQL after closing the cursor if we use any cursor attribute it will throw exception like invalid cursor. Why it is not happening in case of implicit cursor.Would you care to demonstrate what you mean with some code.

  • Getting Type Mismatch Error while passing Array of Interfaces from C#(VSTO) to VBA through IDispatch interface

    Hi,
    I am facing issues like Type Mismatch while passing Array of interfaces from .NET  to VBA and vice versa using VSTO technology.
    My requirement is that ComInterfaceType needs to be InterfaceIsIDispatch.
    My Interface definition is somewhat like this
        [ComVisible(true)]
        [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
        [Guid("AAF48FBC-52B6-4179-A8D2-944D7FBF264E")]
        public interface IInterface1
            [DispId(0)]
            IInterface2[] GetObj();
            [DispId(1)]
            void SetObj(ref IInterface2[] obj);
        [ComVisible(true)]
        [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
        [Guid("CDC06E1D-FE8C-477E-97F1-604B73EF868F")]
        public interface IInterface2
    IF i am passing array of above interface (created in C#.Net) to VBA using GetObj API,i am getting type mismatch error in VBA while assigning the value to variable in VBA.Even assigning to variant type variable gives TypeMismatch.
    Also while passing Array of interfaces from VBA using SetObj API,excel crashes and sometimes it says method doesn't exists.
    Kindly provide some assistance regarding the same.
    Thanks

    Hi,
    I am facing issues like Type Mismatch while passing Array of interfaces from .NET  to VBA and vice versa using VSTO technology.
    My requirement is that ComInterfaceType needs to be InterfaceIsIDispatch.
    My Interface definition is somewhat like this
        [ComVisible(true)]
        [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
        [Guid("AAF48FBC-52B6-4179-A8D2-944D7FBF264E")]
        public interface IInterface1
            [DispId(0)]
            IInterface2[] GetObj();
            [DispId(1)]
            void SetObj(ref IInterface2[] obj);
        [ComVisible(true)]
        [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
        [Guid("CDC06E1D-FE8C-477E-97F1-604B73EF868F")]
        public interface IInterface2
    IF i am passing array of above interface (created in C#.Net) to VBA using GetObj API,i am getting type mismatch error in VBA while assigning the value to variable in VBA.Even assigning to variant type variable gives TypeMismatch.
    Also while passing Array of interfaces from VBA using SetObj API,excel crashes and sometimes it says method doesn't exists.
    Kindly provide some assistance regarding the same.
    Thanks

  • How to solve the "type mismatch" error in jCOM early binding program?

    I got a "type mismatch" error jCOM early binding program.
    I use the VB as the jCOM client to access the EJB deployed on WLS7. While using the
    object parameter like "java.lang.Integer" in EJB method call, I got that error message
    and my VB client had to be stopped?
    The same situation, the VB program work perfect when using the "int" as the parameter.
    And I try to instance the "myTLB.JavaLangInteger" in my VB program, but how ? The
    "New", "CreateObject" and "GetObject" all failure, I don't know what to do next ???

    Hi,
    This problem Could happen when you referesh quality or test system.
    Your delta setup for the related master and transaction data needs to be reinit.
    What happens is when you init. the delta and subsequent delta is all maintained in your source system
    please check Notes 852443,424848,834229
    Hope this helps
    Thanks
    Teja
    Message was edited by:
            Teja badugu

Maybe you are looking for

  • Grub2 problem with BIOS-GPT

    I have just installed arch linux following this part of wiki https://wiki.archlinux.org/index.php/Dm - VM_on_LUKS (also for partitioning made with cgdisk). I havn't find any problem untill i have rebooted the machine. My pc can't find the bootloader

  • X201 no HDMI ?

    hi, there is not HDMI port on X201 so how to connect to HD TV and watch HD movies with HD audios from the harddisk?  + ThinkPad X201 3626-FBG / Intel Core i5 M520 2.4Ghz / DDR3 8Gb / Intel SSD 730 Series 240Gb / 12.1" WXGA 1280x800px / Dual boot Win7

  • Private mode and history automatic delete after Firefox closes is not working?

    It keeps remembering history, download history, search & form history when its uncheck, cookies accepted until firefox closes and I have it set on clear history when firefox closes, but its not working even if I use the private browsing mode how do I

  • Is it possible to run OBIEE on linux 64 bit mchine with oracle 64 bit

    Is it possible to run OBIEE 10.1.3.4.0 on linux 64 bit machine with oracle 64 bit(10.2.0.1.0) installed Thanks in Advance

  • Can we please have the old support site back?

    I can't research problems and find threads the way I could with the old site.  Is that intentional?