ESB throwing error when invoking Stored Procedure

Hi there,
I'm using SOA Suite 10.1.3.4. I have an ESB service which stores orders from a IBM Maximo system(Procurement system) into Oracle database using stored procedure. I can insert the orders through the endpoint URL using the test client provided by SOA Suite ESB console. But when Maximo sends the orders i'm getting errors as below. I can also see that the input is null when called the procedure. But in the instance of the ESB Console i can see the Payload sent by the Maximo system. Not sure where and why the payload disappears before calling the stored procedure.
I have been battling on this for couple of days. Any help on this is much appreciated.
<2009-01-09 11:21:12,003> <DEBUG> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client acquired
<2009-01-09 11:21:12,003> <DEBUG> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> acquire unit of work: 25523441
<2009-01-09 11:21:12,003> <DEBUG> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> TX beginTransaction, status=STATUS_ACTIVE
<2009-01-09 11:21:12,003> <DEBUG> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.sp.AbstractStoredProcedure execute> BEGIN APSEZ.APS_MAXIMO_INTERFACE.APS_RECIEVE_POV(I_PO_IN_OBJ=>?); END;
<2009-01-09 11:21:12,003> <DEBUG> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.sp.AbstractStoredProcedure execute> Bindings [I_PO_IN_OBJ=>APSEZ.GET_PO_IN_OBJ(null)]
ORABPEL-11811
Error while trying to prepare and execute an API.
An error occurred while preparing and executing the APSEZ.APS_MAXIMO_INTERFACE.APS_RECIEVE_POV API. Cause: java.sql.SQLException: ORA-06531: Reference to uninitialized collection
ORA-06512: at "APSEZ.APS_MAXIMO_INTERFACE", line 52
ORA-06512: at line 1
[Caused by: ORA-06531: Reference to uninitialized collection
ORA-06512: at "APSEZ.APS_MAXIMO_INTERFACE", line 52
ORA-06512: at line 1
Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
     at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:469)
     at oracle.tip.adapter.db.sp.SPUtil.createResourceException(SPUtil.java:172)
     at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:116)
     at oracle.tip.adapter.db.sp.SPInteraction.executeStoredProcedure(SPInteraction.java:134)
     at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:1014)
     at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:232)
     at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:486)
     at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:739)
     at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:894)
     at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:810)
     at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:832)
     at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:223)
     at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:135)
     at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:406)
     at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:164)
     at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
     at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
     at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
     at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
     at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
     at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
     at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
     at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
     at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
     at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
     at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
     at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
     at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(EventOracleSoapProvider.java:399)
     at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(EventOracleSoapProvider.java:225)
     at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:956)
     at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
     at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:466)
     at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
     at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
     at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:194)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
     at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
     at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
     at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
     at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
     at java.lang.Thread.run(Thread.java:595)
Thanks
Dhilip

I doubt JPublisher has anything to do with this issue as JDeveloper is the tool used for SOA Development. The issue here is with the process that gets invoked by maximo. It is not populating the data correctly, and nulls are being sent to the adapter. When nulls are sent this causes issues in the code because it cannot initilise varrays in the stored procedure.
Therefore the fix is to sort this issue out is to stop it sending nulls, if nulls are valid form the maximo system then the stored procedure needs to manage these. This can be done by setting defaults for the inputs.
cheers
James

Similar Messages

  • SSRS dataset throws error when another stored procedure is called inside dataset stored procedure

    Hello;
    I am using Report Build 3.0, I have a simple report which gets data using dataset which is created from a Stored Procedure. I have another stored procedure which updates the data in the table which is used for the report. I want to get the live data on report everytime
    the report is run so that I call that stored procedure (sp_updatedata) inside my report dataset stored procedure and here where my report fails as it throws error while creating dataset.
    Here is sample:
    sp_updatedata (this only returns "Command(s) completed successfully"
    Create Proce sp_getReportData
    As
    Begin
    Exec sp_updatedata -- I call it to update the data before it displays on the report
    Select * from customers
    End
    If I remove this line it works.
    Exec sp_updatedata -- I call it to update the data before it displays on the report
    Thanks
    Essa Mughal

    Hi MESSA,
    According to your description, you create a dataset based on a stored procedure. In this procedure, it calls another procedure. Now it throws error when creating dataset. Right?
    In Reporting Services, when creating dataset, all the query or stored procedure will be executed in SSMS. So if the procedure can be executed in SSMS, it supposed to be working in SSRS. However, it has a limitation in SSRS. In a dataset, it can only return
    one result set.
    In this scenario, I don't think it's the issue of calling other procedure inside of procedure. Because we tested in our local environment, it works fine. I guess the sp_updatedata returns a result set, and the "select * from customers" returns
    another result set. This might be the reason cause the error.
    Reference:
    Query Design Tools in Report Designer SQL Server Data Tools (SSRS)
    Reporting Services Query Designers
    If you still have any question, please post the error message and the store procedure (sp_updatedata).
    Best Regards,
    Simon Hou

  • Error while invoking Stored Procedure.

    Hi,
    I am trying to invoke a stored procedure which has one input parameter and 3 output parameters. In the procedure, I am selecting 3 columns from a table based on the input parameter. I have generated a WSDL from database, along with wsdl an xsd has been created. I have used this WSDL in creating partner link on the target side. For source side partner link, I have created WSDL based on the xsd which is created from database. I have deployed this BPEL process and when I try to debug the flow it is failing while invoking the stored procedure I am getting below soap fault.
    {color:#3366ff}<?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="{color}{color:#3366ff}" xmlns:xsd="{color}{color:#3366ff}" xmlns:xsi="{color}{color:#3366ff}" xsi:schemaLocation="{color}{color:#3366ff} {color}{color:#3366ff}">
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode xmlns="">SOAP-ENV:Server</faultcode>
    <faultstring xmlns="">BPCOR-6135:A fault was not handled in the process scope; Fault Name is {http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault; Fault Data is <?xml version="1.0&;quot; encoding="UTF-8"?><jbi:message xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling" type="sxeh:faultMessage" version="1.0&;quot; xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"><jbi:part>Error occured while executing SQL.call GETRESULTS(?,?,?,?) Reason: Unable to convert normalized message content to Procedure, Error occured during populating Procedure.Reason: Parameter Type Conflict: sqlType=12 SQLState: null ErrorCode:17012</jbi:part></jbi:message>. Sending errors for the pending requests in the process scope before terminating the process instance</faultstring>
    <faultactor xmlns="">sun-bpel-engine</faultactor>
    <detail xmlns="">
    <detailText>BPCOR-6135:A fault was not handled in the process scope; Fault Name is {http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault; Fault Data is <?xml version="1.0&;quot; encoding="UTF-8"?><jbi:message xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling" type="sxeh:faultMessage" version="1.0&;quot; xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"><jbi:part>Error occured while executing SQL.call GETRESULTS(?,?,?,?) Reason: Unable to convert normalized message content to Procedure, Error occured during populating Procedure.Reason: Parameter Type Conflict: sqlType=12 SQLState: null ErrorCode:17012</jbi:part></jbi:message>. Sending errors for the pending requests in the process scope before terminating the process instance
    Caused by: BPCOR-6131:An Error status was received while doing an invoke (partnerLink=StoreProc, portType={http://j2ee.netbeans.org/wsdl/Storedproc}jdbcPortType, operation=execute)
    BPCOR-6129:Line Number is 30
    BPCOR-6130:Activity Name is Invoke1
    Caused by: Error occured while executing SQL.call GETRESULTS(?,?,?,?) Reason: Unable to convert normalized message content to Procedure, Error occured during populating Procedure.Reason: Parameter Type Conflict: sqlType=12 SQLState: null ErrorCode:17012
    Caused by: Unable to convert normalized message content to Procedure, Error occured during populating Procedure.Reason: Parameter Type Conflict: sqlType=12 SQLState: null ErrorCode:17012
    Caused by: Parameter Type Conflict: sqlType=12</detailText>
    </detail>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    {color:#000000}Plz help me to fix this issue.
    Thanks,
    Srinivas{color}{color}

    First of all does this scenario occur again.
    "Works first/second time. Later gives this error."
    After you restart the SOA server are you able to reproduce this scenario?
    As already pointed out and from the error message, database connection is reset.
    If you find this error again, try this out.
    em -> home / oc4j_soa -> Administration -> JDBC Resources
    Use the "Test Connection" option for the Connection Pool that you are using for your database JNDI.
    It comes back and say "Connection to "XYZCP" established successfully." it is good to use.
    Run the BPEL process again and once you find the error, come back and test the connection.
    If it comes back with Error, diagnose based on the error message received.
    Cheers
    Kalidass Mookkaiah
    http://oraclebpelindepth.blogspot.com/

  • Error while invoking stored procedure from BPEL process

    Hi Folks,
    I am facing the below mentioned issue while invoking a stored procedure in BPEL process :
    I am trying to invoke a stored procedure from a BPEL process. The process runs fine for the first/second time, but gives the below error after that whenever i try to run the process :
    file:/oracle/orasoa/bpel/domains/default/tmp/.bpel_ProvisionOrderASAPReqABCSImpl_1.0_50dd1595129e9bbb00560e31e7c18cef.tmp/DB_CALL_GetPendingSubscriptionProc.wsdl [ DB_CALL_GetPendingSubscriptionProc_ptt::DB_CALL_GetPendingSubscriptionProc(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'DB_CALL_GetPendingSubscriptionProc' failed due to: Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the PROC_GET_PENDING_SUBSCR API. Cause: java.sql.SQLException: Io exception: Connection reset [Caused by: Io exception: Connection reset]
    ; nested exception is:
    ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the PROC_GET_PENDING_SUBSCR API. Cause: java.sql.SQLException: Io exception: Connection reset [Caused by: Io exception: Connection reset]
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
    I am not getting how the BPEL is referring to the DB wsdl from the tmp folder. To resolve this issue, we have to stop the SOA server, delete the tmp files, and restart the server.
    Any pointers in this regard will be really helpful.

    First of all does this scenario occur again.
    "Works first/second time. Later gives this error."
    After you restart the SOA server are you able to reproduce this scenario?
    As already pointed out and from the error message, database connection is reset.
    If you find this error again, try this out.
    em -> home / oc4j_soa -> Administration -> JDBC Resources
    Use the "Test Connection" option for the Connection Pool that you are using for your database JNDI.
    It comes back and say "Connection to "XYZCP" established successfully." it is good to use.
    Run the BPEL process again and once you find the error, come back and test the connection.
    If it comes back with Error, diagnose based on the error message received.
    Cheers
    Kalidass Mookkaiah
    http://oraclebpelindepth.blogspot.com/

  • Got error when creating stored procedure

    Hi,
    I am a rookie in Oracle. I created a stored procedure:
    create or replace procedure my_first_sp
    as
    begin
    select cid from actions where rownum<3;
    end;
    And I got an error : "**** compilation error"
    After I "show error" I got the description to see a "into" is expected.
    But if I change the select statement to a insert statement, no error.
    Please advice.
    Thanks a lot.

    When you have a standalone SELECT statement in PL/SQL, you have to have an INTO clause if you want the results to be stored in a local variable.
    In your case, it would appear that you want your query to return multiple rows. In that case, you'd want to create a cursor, i.e.
    CREATE OR REPLACE my_first_sp
    AS
    BEGIN
      FOR cursor_name IN (SELECT cid FROM actions WHERE rownum < 3)
      LOOP
        <<Do something>>
      END LOOP;
    END;I would also tend to suspect that your SELECT statement is wrong. This statement will return an arbitrary two cid values from the actions table, which is not likely what you want.
    Justin

  • Getting error when calling stored procedure

    I have created 2 stored procedures as follows
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go
    ALTER PROCEDURE [dbo].[REAL_PUSH_UPDATE_REPORTS] AS
    BEGIN TRANSACTION
         DECLARE @cursor_contact_id bigint;
         DECLARE cursorContactId Cursor FOR SELECT distinct(contact_id) FROM [dbo].credit_reports WHERE loan_id IS NULL;
         OPEN cursorContactId;
         Fetch NEXT FROM cursorContactId INTO @cursor_contact_id;
    IF(@@FETCH_STATUS <> 0)
    PRINT 'There are no LOAN contacts are there with loan ID null, May be you have already executed this procedure'
         WHILE(@@FETCH_STATUS =0)
         BEGIN
    PRINT @cursor_contact_id;
              EXECUTE REAL_UPDATE_REPORTS @cursor_contact_id;
              Fetch NEXT FROM cursorContactId INTO @cursor_contact_id
         END
         CLOSE cursorContactId;
         DEALLOCATE cursorContactId;
         IF (@@Error = 0)
              BEGIN
                   COMMIT TRANSACTION;
              END
         ELSE
              BEGIN
                   ROLLBACK TRANSACTION;
              END
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go
    ALTER PROCEDURE [dbo].[REAL_UPDATE_REPORTS] @initial_contact_id bigint AS
    BEGIN TRANSACTION
         DECLARE @loan_count bigint;
         DECLARE cursorLoanID Cursor FOR (SELECT l.loan_id loanIDList FROM (([dbo].loans l LEFT OUTER JOIN [dbo].loan_requests lr
    ON lr.loan_id=l.loan_id
    AND lr.contact_id = l.primary_borrower_id)
    LEFT OUTER JOIN [dbo].loan_codes lc
    ON l.loan_code_id = lc.loan_code_id) 
    WHERE (l.primary_borrower_id=@initial_contact_id)
    AND l.active=1  UNION  SELECT l.loan_id 
    FROM   [dbo].loans l LEFT OUTER JOIN [dbo].loan_requests lr
    ON lr.loan_id=l.loan_id LEFT OUTER JOIN [dbo].contacts c
    ON c.contact_id =l.primary_borrower_id
    WHERE (l.loan_id IN
    (SELECT cb.loan_id FROM coborrowers cb where contact_id =@initial_contact_id and active = 1))
    UNION
    SELECT l.loan_id 
    FROM   [dbo].loans l LEFT OUTER JOIN [dbo].loan_requests lr
    ON lr.loan_id=l.loan_id LEFT OUTER JOIN [dbo].contacts c
    ON c.contact_id =l.primary_borrower_id
    WHERE (l.loan_id IN (SELECT cs.loan_id
    FROM cosigners   cs where contact_id =@initial_contact_id and active = 1)) UNION
    SELECT g.loan_id  FROM   [dbo].groups g, [dbo].group_members gm,
    [dbo].loan_requests lr WHERE gm.group_id = g.group_id
    AND lr.loan_id = g.loan_id
    AND lr.contact_id = gm.secondary_borrower_id
    AND gm.secondary_borrower_id=@initial_contact_id and gm.active = 1) 
    ORDER BY loanIDList DESC;
         OPEN cursorLoanID;
         SET @loan_count = @@CURSOR_ROWS;
    PRINT @loan_count;
         IF(@loan_count > 0)     BEGIN
              DECLARE @loans_loan_id bigint;
              Fetch NEXT FROM cursorLoanID INTO @loans_loan_id;
              DECLARE @my_count bigint;
              SET @my_count=1;
              WHILE(@@FETCH_STATUS =0)
              BEGIN
                   DECLARE @temp_contact_id bigint;
                   DECLARE @temp_loan_id bigint;
                   SET @temp_contact_id = @initial_contact_id;
                   SET @temp_loan_id = @loans_loan_id;
                   IF(@my_count=@loan_count)
                        BEGIN
                             UPDATE [dbo].credit_reports SET loan_id = @temp_loan_id WHERE
    loan_id IS NULL AND contact_id = @initial_contact_id 
    AND NOT EXISTS (SELECT * FROM  [dbo].credit_reports
    WHERE contact_id = @initial_contact_id  AND
    loan_id=@temp_loan_id);
                        END
                   ELSE
                        BEGIN
                             INSERT INTO [dbo].credit_reports(contact_id,credit_bureau_id, credit_score, thirty_days_late,
    sixty_days_late, ninety_days_late, currently_negative, amount_past_due,
    inquiries_six_mos, public_records, collections, total_accounts_balance,
    total_mthly_pymts, report_file, report_gu_id, data_entry_by, data_entry_date,
    loan_id)  SELECT contact_id,credit_bureau_id, credit_score, thirty_days_late,
    sixty_days_late, ninety_days_late, currently_negative, amount_past_due,
    inquiries_six_mos, public_records, collections, total_accounts_balance,
    total_mthly_pymts, report_file, report_gu_id, data_entry_by,
    data_entry_date,@temp_loan_id   FROM [dbo].credit_reports WHERE contact_id
    = @initial_contact_id AND loan_id IS NULL
    AND NOT EXISTS (SELECT * FROM
    [dbo].credit_reports WHERE contact_id=@initial_contact_id AND
    loan_id=@temp_loan_id);
    END
    Fetch NEXT FROM cursorLoanID INTO @loans_loan_id;               
    SET @my_count = @my_count + 1;
              END
    close cursorLoanID
    deallocate cursorLoanID
              IF (@@Error = 0)
                   BEGIN
                        COMMIT TRANSACTION;
                        PRINT 'Success for contactID :'+CONVERT(varchar(50),@initial_contact_id);
                   END
              ELSE
                   BEGIN
                        ROLLBACK TRANSACTION;
                        PRINT 'Failed for contactID :'+CONVERT(varchar(50),@initial_contact_id);
                   END
         END
         ELSE
         BEGIN
              ROLLBACK;
              PRINT 'NO Loans For the contactID :'+CONVERT(varchar(50),@initial_contact_id);
         ENDnow the problem is
    i have executed 2 procedures saperately thn its ok while im calling im getting
    Msg 16915, Level 16, State 1, Procedure REAL_UPDATE_REPORTS, Line 5
    A cursor with the name 'cursorLoanID' already exists.
    Msg 16905, Level 16, State 1, Procedure REAL_UPDATE_REPORTS, Line 6
    The cursor is already open.Please let me know the reason...
    Thank you.
    Message was edited by:
    User71408

    What the heck, that's fun..
    I for one, have never seen T-sql or whatever it's called.
    Looking at it, it seems that a
    close cursorLoanID
    deallocate cursorLoanID
    is missing from the ELSE section doing the rollback.
    But, only guessing
    Fun, fun, fun

  • WL 6.0 using MS SQL Server 2000 - Transaction timeout when invoking stored procedure

    Hi,
    Facing a problem on WL6.0. We are connecting to MS SQL server 2000 using a stateless
    session bean
    using container managed transaction. The bean method does a few updates to the
    database and also
    calls a stored procedure that generates primary keys many times. This stored procedure
    (SP) is running
    in a transaction of its own since it has to increment a counter, update the database
    and then return the
    primary key.The primary key generator SP is working fine and does not lock the
    database in many bean
    methods.
    In some methods we find that the primary key generator SP has locked the database.
    We
    then see a lock on the database created due to this SP in the MS SQL client. The
    execution goes
    into the SP and gets stuck there till the bean's transaction times out. The error
    message given is
    ...... .. Exception Message - The transaction is no longer active
    (status = Rolling Back. [Reason = weblogic.transaction.internal.TimedOutExcepti
    on: Transaction timed out after 31seconds
    tx = transaction=(IdHash=1746718,Name = [EJB StructMgrBeanImpl.addStructure()],X
    id=10908:51e67e9d7185816a,Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=
    0,seconds since begin=31,seconds left=30,activeThread=Thread[ExecuteThread: '7'
    for queue: 'default',5,Thread Group for Queue: 'default'],ServerResourceInfo[web
    logic.jdbc.jts.Connection]=(state=started,assigned=none),SCInfo[myserver]=(state
    =active),properties=({weblogic.transaction.name=[EJB StructMgrBeanImpl.addStruct
    ure()], weblogic.jdbc=t3://10.200.15.136:7001}))]). No further JDBC access is
    al
    lowed within this transaction.
    What could be the potential problems in the method's code/SP that could be causing
    the timeout?
    Anyone faced similar problems?
    Thanks in advance,
    Sreeja

    Hi,
    Facing a problem on WL6.0. We are connecting to MS SQL server 2000 using a stateless
    session bean
    using container managed transaction. The bean method does a few updates to the
    database and also
    calls a stored procedure that generates primary keys many times. This stored procedure
    (SP) is running
    in a transaction of its own since it has to increment a counter, update the database
    and then return the
    primary key.The primary key generator SP is working fine and does not lock the
    database in many bean
    methods.
    In some methods we find that the primary key generator SP has locked the database.
    We
    then see a lock on the database created due to this SP in the MS SQL client. The
    execution goes
    into the SP and gets stuck there till the bean's transaction times out. The error
    message given is
    ...... .. Exception Message - The transaction is no longer active
    (status = Rolling Back. [Reason = weblogic.transaction.internal.TimedOutExcepti
    on: Transaction timed out after 31seconds
    tx = transaction=(IdHash=1746718,Name = [EJB StructMgrBeanImpl.addStructure()],X
    id=10908:51e67e9d7185816a,Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=
    0,seconds since begin=31,seconds left=30,activeThread=Thread[ExecuteThread: '7'
    for queue: 'default',5,Thread Group for Queue: 'default'],ServerResourceInfo[web
    logic.jdbc.jts.Connection]=(state=started,assigned=none),SCInfo[myserver]=(state
    =active),properties=({weblogic.transaction.name=[EJB StructMgrBeanImpl.addStruct
    ure()], weblogic.jdbc=t3://10.200.15.136:7001}))]). No further JDBC access is
    al
    lowed within this transaction.
    What could be the potential problems in the method's code/SP that could be causing
    the timeout?
    Anyone faced similar problems?
    Thanks in advance,
    Sreeja

  • Unspecified Error when submitting stored procedure

    I am having problems submitting stored procedures against Oracle 8i using OraOLEDB. I am using the ODBC escape syntax in the command text. If I attempt to pass any of the following three characters @ or ! or ~ in the text of a varchar parameter an unspecified error 80004005 occurs, without these characters the process works fine.
    The following VB 6.0 code fragment illustrates the problem:
    Dim a As New ADODB.Connection
    Dim b As New ADODB.Command
    Dim c As ADODB.Recordset
    a.ConnectionString = "DistribTX=0;SPPrmsLOB=1;PLSQLRSet=1;Provider=OraOLEDB.Oracle;Data Source=ORACLE1;User Id=XXXX;Password=XXXX"
    a.Open
    b.CommandText = "{call gpa.dp_gpa_report.list('@MDU')}"
    Set b.ActiveConnection = a
    Set c = b.Execute
    Any advice would be appreciated. Note that if is use SQL Plus to execute gpa.dp_gpa_report.list('@MDU') it executes with not problem.
    More Information
    Software Versions:
    Windows 2000 Pro SP2
    MDAC 2.6
    OraOLEDB.dll - 8.1.7.0
    Oracle 8.1.7.0.0
    I have run the OLE-DB trace facility and it returns the following info where the error occurs:
    COracleCommand::SetCommandText(hr=80004005): 2558
    TID: 304 (ENTRY)
    The stored procedure gpa.dp_gpa_report.list is a wrapper over a table which has the following structure:
    REPORT_CODE NOT NULL VARCHAR2(50)
    EMPLOYEE_ID NOT NULL GRD.GRD_ID_TYP
    FUND_SCREEN_FILTER NUMBER(1)
    MODEL_SORT_FIELD VARCHAR2(2000)
    CLIENT_SORT_FIELD VARCHAR2(2000)
    FUND_LIST_CODE VARCHAR2(10)
    FUND_MODEL VARCHAR2(10)
    BENCHMARK_INDEX VARCHAR2(10)
    BENCHMARK_IS_TEMPLATE VARCHAR2(1)
    VALUE_DATE DATE
    HELD_STOCKS VARCHAR2(1)
    PRICE_PERFORMANCE VARCHAR2(1)
    COMPANY_INFORMATION VARCHAR2(1)
    ANALYSTS_DATA VARCHAR2(1)
    REPORT_FORMAT NUMBER(1)
    INCLUDE_SECTOR_L1 VARCHAR2(1)
    INCLUDE_SECTOR_L2 VARCHAR2(1)
    INCLUDE_SECTOR_L3 VARCHAR2(1)
    INCLUDE_SECTOR_L4 VARCHAR2(1)
    INCLUDE_ASSETS VARCHAR2(1)
    FUND_HOLDINGS VARCHAR2(1)
    INDEX_WEIGHTINGS VARCHAR2(1)
    ACTIVE_POSITIONS VARCHAR2(1)
    NO_OF_ACTIVE_POSITIONS NUMBER(5)
    ACTIVE_POSITIONS_GT_THAN NUMBER
    LIST_SORT_FIELD VARCHAR2(2000)
    AP_SORT_FIELD VARCHAR2(2000)
    INDEX_IND_STRUCT_CODE VARCHAR2(6)
    INDEX_CURRENCY VARCHAR2(6)
    ALWAYS_LATEST_DATE VARCHAR2(1)
    PERCENTAGES VARCHAR2(1)
    MARKET_VALUES VARCHAR2(1)
    HOLDINGS VARCHAR2(1)
    ISIN VARCHAR2(1)
    SEDOL VARCHAR2(1)
    DEPOT VARCHAR2(1)
    TRADED_COUNTRY_CODE VARCHAR2(1)
    SECTOR_LOWEST_CODE VARCHAR2(1)
    GIM2_ASSET_UNIVERSE VARCHAR2(6)
    GIM2_INCLUDE_CASH VARCHAR2(1)
    TRITON_ASSET_UNIVERSE VARCHAR2(6)
    TRITON_INCLUDE_CASH VARCHAR2(1)
    MODEL_ASSET_UNIVERSE VARCHAR2(6)
    MODEL_INCLUDE_CASH VARCHAR2(1)
    MARKET_CAP_LOCAL VARCHAR2(1)
    MARKET_CAP_USD VARCHAR2(1)
    ADR_INFO VARCHAR2(1)
    FMC_ASSET_UNIVERSE VARCHAR2(6)
    FMC_INCLUDE_CASH VARCHAR2(1)

    I am having problems submitting stored procedures against Oracle 8i using OraOLEDB. I am using the ODBC escape syntax in the command text. If I attempt to pass any of the following three characters @ or ! or ~ in the text of a varchar parameter an unspecified error 80004005 occurs, without these characters the process works fine.
    The following VB 6.0 code fragment illustrates the problem:
    Dim a As New ADODB.Connection
    Dim b As New ADODB.Command
    Dim c As ADODB.Recordset
    a.ConnectionString = "DistribTX=0;SPPrmsLOB=1;PLSQLRSet=1;Provider=OraOLEDB.Oracle;Data Source=ORACLE1;User Id=XXXX;Password=XXXX"
    a.Open
    b.CommandText = "{call gpa.dp_gpa_report.list('@MDU')}"
    Set b.ActiveConnection = a
    Set c = b.Execute
    Any advice would be appreciated. Note that if is use SQL Plus to execute gpa.dp_gpa_report.list('@MDU') it executes with not problem.
    More Information
    Software Versions:
    Windows 2000 Pro SP2
    MDAC 2.6
    OraOLEDB.dll - 8.1.7.0
    Oracle 8.1.7.0.0
    I have run the OLE-DB trace facility and it returns the following info where the error occurs:
    COracleCommand::SetCommandText(hr=80004005): 2558
    TID: 304 (ENTRY)
    The stored procedure gpa.dp_gpa_report.list is a wrapper over a table which has the following structure:
    REPORT_CODE NOT NULL VARCHAR2(50)
    EMPLOYEE_ID NOT NULL GRD.GRD_ID_TYP
    FUND_SCREEN_FILTER NUMBER(1)
    MODEL_SORT_FIELD VARCHAR2(2000)
    CLIENT_SORT_FIELD VARCHAR2(2000)
    FUND_LIST_CODE VARCHAR2(10)
    FUND_MODEL VARCHAR2(10)
    BENCHMARK_INDEX VARCHAR2(10)
    BENCHMARK_IS_TEMPLATE VARCHAR2(1)
    VALUE_DATE DATE
    HELD_STOCKS VARCHAR2(1)
    PRICE_PERFORMANCE VARCHAR2(1)
    COMPANY_INFORMATION VARCHAR2(1)
    ANALYSTS_DATA VARCHAR2(1)
    REPORT_FORMAT NUMBER(1)
    INCLUDE_SECTOR_L1 VARCHAR2(1)
    INCLUDE_SECTOR_L2 VARCHAR2(1)
    INCLUDE_SECTOR_L3 VARCHAR2(1)
    INCLUDE_SECTOR_L4 VARCHAR2(1)
    INCLUDE_ASSETS VARCHAR2(1)
    FUND_HOLDINGS VARCHAR2(1)
    INDEX_WEIGHTINGS VARCHAR2(1)
    ACTIVE_POSITIONS VARCHAR2(1)
    NO_OF_ACTIVE_POSITIONS NUMBER(5)
    ACTIVE_POSITIONS_GT_THAN NUMBER
    LIST_SORT_FIELD VARCHAR2(2000)
    AP_SORT_FIELD VARCHAR2(2000)
    INDEX_IND_STRUCT_CODE VARCHAR2(6)
    INDEX_CURRENCY VARCHAR2(6)
    ALWAYS_LATEST_DATE VARCHAR2(1)
    PERCENTAGES VARCHAR2(1)
    MARKET_VALUES VARCHAR2(1)
    HOLDINGS VARCHAR2(1)
    ISIN VARCHAR2(1)
    SEDOL VARCHAR2(1)
    DEPOT VARCHAR2(1)
    TRADED_COUNTRY_CODE VARCHAR2(1)
    SECTOR_LOWEST_CODE VARCHAR2(1)
    GIM2_ASSET_UNIVERSE VARCHAR2(6)
    GIM2_INCLUDE_CASH VARCHAR2(1)
    TRITON_ASSET_UNIVERSE VARCHAR2(6)
    TRITON_INCLUDE_CASH VARCHAR2(1)
    MODEL_ASSET_UNIVERSE VARCHAR2(6)
    MODEL_INCLUDE_CASH VARCHAR2(1)
    MARKET_CAP_LOCAL VARCHAR2(1)
    MARKET_CAP_USD VARCHAR2(1)
    ADR_INFO VARCHAR2(1)
    FMC_ASSET_UNIVERSE VARCHAR2(6)
    FMC_INCLUDE_CASH VARCHAR2(1)

  • Error when calling Stored Procedure from backing bean

    I am using Jdeveloper 11.1.1.6 and am trying to utilize the following URL to execute a SP from a backing bean: http://ramannanda.blogspot.com/2011/11/optimized-update-insert-adf.html
    The reason I am looking at this is currently I have coded my backing bean to perform inserts and deletes through the use of my View Objects. I am performing up to a combined 5-10K inserts and deletes and the performance is rather slow. If there is a way to tune the view objects as well as the commit to be much faster, that is the prefered method. If that can't be done then I would like to figure out the approach identified in the URL.
    I have highlighted a section of code below that is failing when using the URL approach. It errors out with the following exception: javax.el.ELException: oracle.jbo.JboException: java.sql.SQLException: Internal Error: Inconsistent catalog view
    Do you have thoughts as to what might cause this exception.
    create or replace
    type TYP_TEST_R is object
         Test_Id Number(5,0) ,
         Test_Num Number(7,0)
    create or replace
    type TYP_TEST_TB as table of TYP_TEST_R;
    private void myMethod(MyTableVORowImpl pCurrentRow) {
    int i = 0;
    DCIteratorBinding lDciter =
    (DCIteratorBinding)getBindings().get("MyTable1Iterator");
    MyAppModuleAMImpl lMyAppModuleAMImpl =
    (MyAppModuleAMImpl)lDciter.getViewObject().getApplicationModule();
    Connection lConnection =
    lMyAppModuleAMImpl.getDBTransaction().createStatement(1).getConnection();
    StructDescriptor lTblRecordStructType =
    StructDescriptor.createDescriptor("DBADMIN.TYP_TEST_R",
    lConnection);
    .....<additional logic here>......
    Object lArray[] = new Object[lSortedDifferences.size()];
    while (........) {
    Number lNumber = .......
    Number lDifferentStore = (Number)lDifferentIterator.next();
    STRUCT lTempStruct =+_
    new STRUCT(lTblRecordStructType, lConnection,+_
    *new Object[] { pCurrentRow.getTestId(),*+_
    lDifferentStore });+_
    lArray[i] = lTempStruct;
    i = i + 1;
    //create array structure descriptor
    ArrayDescriptor lTableDesc =
    ArrayDescriptor.createDescriptor("DBADMIN.TYP_TEST_TB",
    lConnection);
    //create an Array type with given structure definition
    ARRAY lTableArray =
    new ARRAY(lTableDesc, lConnection, lArray);
    String lCallableProcedureStatement =
    " begin DBADMIN.SP_TEST(?,?); end;";
    OracleCallableStatement lOracleCallableStatement = null;
    lOracleCallableStatement =
    (OracleCallableStatement)lMyAppModuleAMImpl.getDBTransaction().createCallableStatement(lCallableProcedureStatement,
    0);
    lOracleCallableStatement.setARRAY(1, lTableArray);
    lOracleCallableStatement.setString(2,
    (String)ADFUtil.evaluateEL("#{sessionScope['UserName']}"));
    lOracleCallableStatement.executeUpdate();
    }

    That was helpful and now I can execute up to my last line of code: "lOracleCallableStatement.executeUpdate();"
    This code executes the SP.
    My SP is as follows:
    create or replace
    PROCEDURE          SP_TEST
    *( param1 IN TYP_TEST_TB,*
    param2 IN VARCHAR2) as
    CURSOR for_insert_csr IS
    SELECT *
    FROM TABLE(param1) T1;
    temp_update TYP_TEST_R;
    BEGIN
    FOR temp_update IN for_insert_csr
    LOOP
    -- do stuff in this loop
    END LOOP;
    end;
    When trying to execute the SP, I get the following error:
    +<LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5+
    javax.el.ELException: oracle.jbo.JboException: java.sql.SQLException: ORA-06550: line 1, column 7:*
    PLS-00201: identifier DBADMIN.SP_TEST must be declared*
    ORA-06550: line 1, column 7:*
    PL/SQL: Statement ignored*
    at com.sun.el.parser.AstValue.invoke(Unknown Source)*
    at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)*
    at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1300)*
    at oracle.adf.view.rich.component.UIXDialog.broadcast(UIXDialog.java:97)*
    at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)*
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)*
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)*
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)*
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)*
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)*
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)*
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)*
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)*
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1018)*
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:386)*
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)*
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)*
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)*
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)*
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)*
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)*
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)*
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)*
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)*
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)*
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)*
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)*
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)*
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)*
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)*
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)*
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)*
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)*
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)*
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)*
    at java.security.AccessController.doPrivileged(Native Method)*
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)*
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)*
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)*
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)*
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)*
    Do you have any suggestions on what I might want to try?

  • Error when use stored procedure in Named Query and Custom SQL

    This is a toplink development on Jdev 1013. A package with a function is created which returns a "ref cursor" in a oracle 9i database. I tried to access the function in jdev toplink descriptor editor either through custom sql (Readall) or a named query (procedureTest) and I got java.sql.SQLException: SQL string is not Query. Note: I am NOT talking about programatic storedprocedurecall object.
    The client access code is following (where error was thrown):
    results = (Collection) session.executeQuery("procedureTest", WuTest.class);

    Any responses? Thanks.

  • ERROR-Logging of Stored Procedure (Stop / Going on after error + logging)

    Hi @all,
    I am using a Stored Procedure which is very simple:
    =>The stored procedure is selecting many tousands of records from table1 + table2.
    => Some values (records) will be summarized (aggregated/group by).
    =>After this selection and summarizing, this records will be deleted from table3 (if they exist in table3).
    =>Then the selected records will be inserted in table3.
    Now I want to do the following:
    Is there a way to log the errors of the stored procedure?
    For example, the stored procedure is copying many thousands of records.
    If there is a problem on copying/ inserting a record to table3, then I want a error-log in a loggin_table.
    Is there a way to write the error-logs from a stored procedure to a special table in database?
    I want to do this in 2 ways:
    1) On error the error is logged and the stored procedure is stopped.
    2) On error the error is logged and the stored procedure is going on to insert/summarize the next record.
    I don't know how I can get these errors of a stored procedure. Maybe it isn't possible? Or is it better to use a function?
    Hope anyone can give me a hint?
    Thanks a lot.
    Best regards,
    Tim

    Hi
    option one:
    as i know you can have another table without primer key (log table).
    then before you insert into table, select the record count using primary key. if it is duplicate then put those record into the table.
    option two:
    write the log into file.
    declare
    f utl_file.file_type;
    s varchar2(200);
    begin
    f := utl_file.fopen('SAMPLEDATA','sample1.txt','R');
    loop
    utl_file.get_line(f,s);
    dbms_output.put_line(s);
    end loop;
    exception
    when NO_DATA_FOUND then
    utl_file.fclose(f);
    end;
    refer : http://www.psoug.org/reference/OLD/utl_file.html
    regards
    upul.
    Edited by: Upul Indika on Apr 9, 2009 12:45 PM

  • Array data sporadically lost when calling stored procedure

    We have weird problem with stored procedures for which I have not been able to find an explanation so far.
    Our app has a bunch of stored procedures which process arrays of integers or strings.
    From time to time (maybe 1 in a 1000) array data gets lost when calling stored procedures. From the logs we know that the data gets sent to the stored procedure, but on the DB side the procedure throws an exception because arrays are empty.
    We are using (modified) OracleConnectionCacheImp (thus PooledConnections, etc.). My latest guess is that maybe somehow ArrayDescriptors on the (pooled)connection used to call the stored procedure are somehow affected when another pooled connection from OracleConnectionCacheImp gets removed by parallel thread. Is that possible? Or are the PooledConnections internally (in pooled connection data source) completely isolated from each other ?

    We have weird problem with stored procedures for which I have not been able to find an explanation so far.
    Our app has a bunch of stored procedures which process arrays of integers or strings.
    From time to time (maybe 1 in a 1000) array data gets lost when calling stored procedures. From the logs we know that the data gets sent to the stored procedure, but on the DB side the procedure throws an exception because arrays are empty.
    We are using (modified) OracleConnectionCacheImp (thus PooledConnections, etc.). My latest guess is that maybe somehow ArrayDescriptors on the (pooled)connection used to call the stored procedure are somehow affected when another pooled connection from OracleConnectionCacheImp gets removed by parallel thread. Is that possible? Or are the PooledConnections internally (in pooled connection data source) completely isolated from each other ?

  • Siebel analytics(Invoking Stored Procedure)

    Hi all,
    I am using Siebel Analytics(7.8.2) and am a new bee to this.
    I have invoked stored procedure from Siebel Administration but is it possible to do the same from Siebel web analytics?. I have a report where on clicking on a link/button i want to invoke a stored procedure.
    Thanks in advance
    Dhrubo...

    Hi,
    create java impl class of application module by going to java tab
    and refer following code
        public Connection getCurrentConnection() {
            Statement st = null;
            try {
                st = getDBTransaction().createStatement(0);
                return st.getConnection();
            } catch (SQLException s) {
                s.printStackTrace();
                return null;
            } finally {
                if (st != null)
                    try {
                        st.close();
                    } catch (SQLException s2) {
    public void callP(){
    Connection conn = getCurrentConnection();
                 CallableStatement cs = null;
                String stmt = "xx.xx(?,?,?,?,?,?,?)";  // ? depends on number of parametrers of procedure
                try {
                    cs = conn.prepareCall("begin " + stmt + "; end;");
                    cs.setObject("parameterName", "some Value");
                    cs.execute();
                } catch (SQLException e) {
                   throw new JboException(e);
                } finally {
                    if (cs != null) {
                        try {
                            cs.close();
                        } catch (SQLException e) {
    calling oracle stored procedure in java
    Hope this helps
    Edited by: Santosh Vaza on Apr 25, 2012 12:07 PM

  • Excel is throwing error when it click print : 'No printers are installed. To install a printer click the File tab, and then click Print. Click No Printers Installed, and then click Add Printer. Follow the instructions in the Add Printer dialog box'

    Excel is throwing error when it click print : 'No printers are installed. To install a printer click the File tab, and then click Print. Click No Printers Installed, and then click Add Printer. Follow the instructions in the Add Printer dialog box'
    Word, and powerpoint application are working fine.  
    Environment :  Windows 7 64-bit, MS Office 2013 64-bit
    Steps to recreate
    (i)  Create new user account and add to any group ( do not log on using this
     account)
      (ii)  runas /user:<new user account>  <fullpath>\excel.exe
       it will ask password so enter on command prompt
    (iii)  open any excel document  and click File->Print
      (iv)  verify result  (it is failing) it pop ups below error
     Error:`Microsoft Excel
     No printers are installed. To install a printer click the File tab, and then click
     Print. Click No Printers Installed, and then click Add Printer. Follow the
     instructions in the Add Printer dialog box.                                                                                                               

    Sorry for late reply i was not at work
    I have a default set excel is still throwing error. Interestingly winword , powerpoint and publisher are working fine. I am able to print from all office applications except Excel.
     Probably excel behaves differently from other office applications.
     Probably it is a bug in excel
    Workaround : Log on to a system once using newly created account then runas excel using this account then print works fine.
    It means something in user profile should be configure to run excel print operation. Could you please somebody help what I need to configure in user profile that makes print operation success?

  • XSQL: how to invoke stored procedure from XSQL

    Any one has example on how to invoke stored procedure within XSQL with associated *.xsl? What the syntax looks like? Thanks.

    If you want to simply invoke a stored procedure, use:
    <xsql:dml>
    begin
    proc(args);
    end;
    </xsql:dml>
    If you want to return XML that your stored procedure "prints" to the OWA page buffer, then use:
    <xsql:include-owa>
    If you want to invoke a stored function that returns a REF CURSOR function, then use <xsql:ref-cursor-function>
    null

Maybe you are looking for

  • Problems trying tutorial "Building a GoogleSearch Web Service Portlet"

    Hi all I'm trying the tutorial at the link http://developers.sun.com/prodtech/javatools/jscreator/learning/tutorials/2/googleportlet.html with Sun Java Studio Cerator2 Update1, on a PC with Linux Suse 9.3. When I try to run the portlet in the pluto p

  • Motion 5 crashes on quit?

    Motion 5 has seemed quite solid and a pleasure to go deeper into. But every single time i am done, happy and i quit - Motion gnerates a crash report. It does not seem to matter the simplicity or the complexity...it will run all but as soon as I am do

  • BADI for MIGO ( Material document change for Production Order goods Receipt

    Hey experts, I am actually stuck up with MIGO BADI. There are many BADI's available but i dont think any one would suit my requirement. here goes my requirement. When a Production Order is created in transaction CO01 , the system picks the value of t

  • Iphone dock doesn't work with my iPhone

    Hey I really need some help with my iPhone Dock from Sharp. At first I used the dock for charging and to play music, No problem. But then one day it didn't work. When I put my iPhone 4 into the dock it didn't connect. There is nothing wrong with the

  • IOS 8.1.2 app update badge

    I just resurrected an old thread, but I wanted to start a new thread here. The Update badge counter on the App store app will not go away after the apps have been updated. More specifically, I am updating apps via cable sync from desktop Itunes. The