Executing a PL/SQL

Isnt there a way to execute a called stored procedure and function and have that procedure execute, and have the processing of the calling procedure continue in parallel? I thought I remembered seeing this, but cannot find an appropriate solution. Thanks.

"autonomous transactions" pop into mind (>=8i), but if they really execute in parallell and solve your problem, I wouldn't know, never tried it. Check concepts documentation for the above string.

Similar Messages

  • Error while executing one pl/sql

    i am facing one error while executing a pls/sql
    kindly suggest the possible cause and solution for the same
    declare
    ERROR at line 1:
    ORA-08102: index key not found, obj# 31850, dba 104863849 (2)
    ORA-06512: at "ERP.DELBATCHID", line 24
    ORA-06512: at line 13

    08102, 00000, "index key not found, obj# %s, dba %s (%s)"
    // *Cause:  Internal error: possible inconsistency in index
    // *Action:  <b>Send trace file to your customer support representative, along
    //           with information on reproducing the error</b>

  • Using DB Adapter to execute a custom SQL sequence

    Hello everyone, First of all happy 2013
    I've done with Jdeveloper using DB Adapter to execute a custom SQL statement, has been very simple, then the code JCA integrate it into OSB OESP PS3, and have successfully deployed, then did a testing from the console of OSB
    "Before Configure a DataSource and a Connection Factory for Db Adapter"
    I have seen that I have a casting error, but do not understand why, is a single number which I hope to run the following code sequence:
    SELECT
    MYSEQUENCE.NEXTVAL@DBLINK_EXAMPLE
    FROM dual
    thanks in advance
    >>>>>THIS IS MY LOG:
    Request Document      
         <soapenv:Envelope      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Header      xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         </soap:Header>
         <soapenv:Body>
         <sec:DB_ADAPTER_EXAMPLEInput      xmlns:sec="http://xmlns.oracle.com/pcbpel/adapter/db/DB_ADAPTER_EXAMPLE"/>
         </soapenv:Body>
         </soapenv:Envelope>
    Response Document      
    The call resulted in an error: Failed outgoing call JCA service with application error, excepción: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/PR_SISII/JCA/DB_ADAPTER_EXAMPLE [ DB_ADAPTER_EXAMPLE_ptt::DB_ADAPTER_EXAMPLE(DB_ADAPTER_EXAMPLEInput_msg,DB_ADAPTER_EXAMPLEOutputCollection) ] - WSIF JCA Execute of operation 'DB_ADAPTER_EXAMPLE' failed due to: Could not create / access the TopLink session.
    This session is used to connect to the data store.
    caused by: java.lang.ClassCastException: oracle.tip.adapter.db.DBConnectionFactory cannot be cast to javax.sql.DataSource.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create / access the TopLink session.
    This session is used to connect to the data store.
    caused by: java.lang.ClassCastException: oracle.tip.adapter.db.DBConnectionFactory cannot be cast to javax.sql.DataSource.
    You may need to configure the connection settings in the deployment descriptor (DbAdapter.rar # META-INF/weblogic-ra.xml) and restart the server. This exception is considered not recoverable, probably due to a modeling error.
    com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/PR_SISII/JCA/DB_ADAPTER_EXAMPLE [ DB_ADAPTER_EXAMPLE_ptt::DB_ADAPTER_EXAMPLE(DB_ADAPTER_EXAMPLEInput_msg,DB_ADAPTER_EXAMPLEOutputCollection) ] - WSIF JCA Execute of operation 'DB_ADAPTER_EXAMPLE' failed due to: No se ha podido crear/acceder a la sesión de TopLink.
    This session is used to connect to the data store.
    caused by: java.lang.ClassCastException: oracle.tip.adapter.db.DBConnectionFactory cannot be cast to javax.sql.DataSource.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create / access the TopLink session. This session is used to connect to the data store.
    caused by: java.lang.ClassCastException: oracle.tip.adapter.db.DBConnectionFactory cannot be cast to javax.sql.DataSource.
    You may need to configure the connection settings in the deployment descriptor (DbAdapter.rar # META-INF/weblogic-ra.xml) and restart the server. This exception is considered not recoverable, probably due to a modeling error.
    at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:155)
    at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
    at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
    at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:598)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
    at $Proxy140.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:603)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:538)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:558)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:426)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:380)
    at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:79)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:137)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:135)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:140)
    at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:454)
    at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)
    at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(Unknown Source)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_1034_WLStub.invoke(Unknown Source)
    at com.bea.alsb.console.test.TestServiceClient.invoke(TestServiceClient.java:174)
    at com.bea.alsb.console.test.actions.DefaultRequestAction.invoke(DefaultRequestAction.java:117)
    at com.bea.alsb.console.test.actions.DefaultRequestAction.execute(DefaultRequestAction.java:70)
    at com.bea.alsb.console.test.actions.ServiceRequestAction.execute(ServiceRequestAction.java:143)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)
    at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:91)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116)
    at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.processActionPerform(SBConsoleRequestProcessor.java:91)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853)
    at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.process(SBConsoleRequestProcessor.java:191)
    at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
    at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
    at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:262)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:134)
    at com.bea.alsb.console.common.base.SBConsoleActionServlet.doGet(SBConsoleActionServlet.java:49)
    at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199)
    at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1129)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:687)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:142)
    at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.processAction(StrutsStubImpl.java:76)
    at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:111)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:181)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:167)
    at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:225)
    at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:180)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:324)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
    at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:130)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
    at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:184)
    at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:159)
    at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388)
    at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258)
    at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:199)
    at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130)
    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.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    Caused by: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/PR_SISII/JCA/DB_ADAPTER_EXAMPLE [ DB_ADAPTER_EXAMPLE_ptt::DB_ADAPTER_EXAMPLE(DB_ADAPTER_EXAMPLEInput_msg,DB_ADAPTER_EXAMPLEOutputCollection) ] - WSIF JCA Execute of operation 'DB_ADAPTER_EXAMPLE' failed due to: Could not create / access the TopLink session.
    This session is used to connect to the data store.
    Caused by: java.lang.ClassCastException: can not be cast to oracle.tip.adapter.db.DBConnectionFactory javax.sql.DataSource.; nested exception is:
    BINDING.JCA-11622
    Could not create / access the TopLink session.
    This session is used to connect to the data store.
    Caused by: java.lang.ClassCastException: can not be cast to oracle.tip.adapter.db.DBConnectionFactory javax.sql.DataSource.
    You may need to configure the connection settings in the deployment descriptor (DbAdapter.rar # META-INF/weblogic-ra.xml) and restart the server. This exception is considered not recoverable, probably due to a modeling error.

    Caused by: java.lang.ClassCastException: can not be cast to oracle.tip.adapter.db.DBConnectionFactory javax.sql.DataSource.While creating the outbound connection pool in DBAdapter, make sure that you are providing the JNDI name of data-source (for example jdbc/aaaaa) in field XADataSourceName (if data-source is XA) or in field dataSourceName (if data-source is non-xa). It seems you are providing the JNDI of outbound connection pool (for example eis/DB/aaaaa) itself in the above settings.
    Regards,
    Anuj

  • Count (*)  for select stmt take more time than  execute a that sql stmt

    HI
    count (*) for select stmt take more time than execute a that sql stmt
    executing particular select stmt take 2.47 mins but select stmt is using the /*+parallel*/ (sql optimer) in that sql  command for faster execute .
    but if i tried to find out total number of rows in that query it takes more time ..
    almost 2.30 hrs still running to find count(col)
    please help me to get count of row faster.
    thanks in advance...

    797525 wrote:
    HI
    count (*) for select stmt take more time than execute a that sql stmt
    executing particular select stmt take 2.47 mins but select stmt is using the /*+parallel*/ (sql optimer) in that sql  command for faster execute .
    but if i tried to find out total number of rows in that query it takes more time ..
    almost 2.30 hrs still running to find count(col)
    please help me to get count of row faster.
    thanks in advance...That may be because your client is displaying only the first few records when you are running the "SELECT *". But when you run "COUNT(*)", the whole records has to be counted.
    As already mentined please read teh FAQ to post tuning questions.

  • Executing a PL/SQL block (using Toplink)

    I have a scenario where I need to execute some fairly complex PL/SQL blocks. As a tester, I am attempting to execute the following simple block:
    declare val NUMBER := 1; begin val := 2; end;
    Both wrapping this in an SQLCall, or a DataReadQuery give the following exception. What is the best way to execute a PL/SQL block using Toplink?
    Local Exception Stack:
    Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: ORA-00900: invalid SQL statement
    Error Code: 900
    Call: declare val NUMBER := 1; begin val := 2; end;
    Query:DataReadQuery()
         at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:290)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:570)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:442)
         at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:453)
         at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:117)
         at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:103)
         at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:174)
         at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeSelect(DatasourceCallQueryMechanism.java:156)
         at oracle.toplink.queryframework.DataReadQuery.executeNonCursor(DataReadQuery.java:118)
         at oracle.toplink.queryframework.DataReadQuery.executeDatabaseQuery(DataReadQuery.java:110)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:603)
         at oracle.toplink.queryframework.DataReadQuery.execute(DataReadQuery.java:96)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2062)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:981)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:938)

    Could you try the following:
            Session s = ...
            DataModifyQuery dmq = new DataModifyQuery();
            SQLCall sqlCall = new SQLCall();
            sqlCall.setQueryString(
                "declare\n" +
                "  val NUMBER := 1;\n" +
                "begin\n" +
                "  val := 2;\n" +
                "end;");
            sqlCall.setQuery(dmq);
            dmq.setCall(sqlCall);
            s.executeQuery(dmq);

  • Can I issue this command in PL/SQL: EXECUTE IMMEDIATE '@filename.sql';

    can I issue this command in PL/SQL: EXECUTE IMMEDIATE '@filename.sql';

    Hi,
    Rather the opening a new process (sqlplus), a new connection (need password) etc... I would rather read and execute the file in pl/sql.
    I do not know if someone wrote it already, but here is a quick and dirty code for doing that with UTL_FILE.GET_LINE
    Here, I am only processing some DML statements and no SELECT statements. Correct it as you like !
    CREATE OR REPLACE PROCEDURE run_script ( dir_name IN VARCHAR2,file_name IN VARCHAR2)
    IS
    vSFile UTL_FILE.FILE_TYPE;
    vCmd VARCHAR2(200);
    vNewLine VARCHAR2(200);
    BEGIN
        vSFile := UTL_FILE.FOPEN(dir_name, file_name,'r');
        vCmd := NULL;
        IF UTL_FILE.IS_OPEN(vSFile) THEN
        LOOP
            BEGIN
                UTL_FILE.GET_LINE(vSFile, vNewLine);
                if (vCmd is null) THEN
                    if (upper(vNewLine) like 'INSERT%' or upper(vNewLine) like 'UPDATE%' or upper(vNewLine) like 'DELETE%') THEN
                        if (vNewLine like '%;') THEN
                            /* we have a single line command, execute it now */
                            dbms_output.put_line(substr(vNewLine,1, length(vNewLine)-1));
                            execute immediate substr(vNewLine,1, length(vNewLine)-1);
                        else
                            /* we have a command over multiple line, set vCmd */
                            vCmd := vNewLine;
                        end if;
                    else
                        /* ignore the rest like spool, prompt, accept, errors, host, @, ... */
                        null;
                    end if;
                else
                    if (vNewLine like '%;') THEN
                        /* we have a the last line of the command, execute it now */
                        vCmd := vCmd || ' ' || substr(vNewLine,1, length(vNewLine)-1);
                        dbms_output.put_line(vCmd);
                        execute immediate vCmd;
                        vCmd := null;
                    else
                        /* keep concatenating to vCmd */
                        vCmd := vCmd ||' '|| vNewLine;
                    end if;
                end if;
            EXCEPTION
                WHEN NO_DATA_FOUND THEN
                    EXIT;
                END;
        END LOOP;
        COMMIT;
        END IF;
        UTL_FILE.FCLOSE(vSFile);
    EXCEPTION
        WHEN utl_file.invalid_path THEN
            RAISE_APPLICATION_ERROR (-20052, 'Invalid File Location');
        WHEN utl_file.read_error THEN
            RAISE_APPLICATION_ERROR (-20055, 'Read Error');
        WHEN others THEN
            RAISE_APPLICATION_ERROR (-20099, 'Unknown Error');
    END run_script;
    set serverout on
    create directory scriptdir as '/home/oracle';
    grant read,write on directory to scott;
    exec run_script('SCRIPTDIR', 'test.sql')

  • How to execute a PL/SQL in JAVA

    I know how to execute a store procedure in PL/SQ. But how to execute a PL/SQL in JSP or other JAVA application?
    Thank you!

    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by Chin Chia Liang ([email protected]):
    I know how to execute a store procedure in PL/SQ. But how to execute a PL/SQL in JSP or other JAVA application?
    Thank you!<HR></BLOCKQUOTE>
    You should use CallableStatement.
    import java.sql.*;
    class StoreProc
    public static void main (String args [])
    throws SQLException {
    try {
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection conn =DriverManager.getConnection ("jdbc:oracle:thin:@testing:1521:test1", "scott", "tiger");
    //create procedure and call it in java (testproc)
    CallableStatement cstmt = conn.prepareCall("{call testproc(?,?)}");
    cstmt.setString(1, "teststore");
    (2, "testagain");
    cstmt.executeUpdate();
    cstmt .close();
    conn.close();
    catch(SQLException e)
    System.out.println("SQLException caught: " + e.getMessage()+" "+e.getErrorCode());
    null

  • Unable to execute map in SQL

    Hi,
    I have a map which conditionally inserts data tables. The map works fine if I execute using from OWB UI. It inserts data as expected.
    The same map if executed from PL/SQL it doesn't execute.
    Status from PL/SQL...
    declare
    v varchar2(1000);
    begin
    map_abc.main(v,123);
    end;
    Audit run id = 270625
    Return result = OK
    Execution status = COMPLETE
    No. task errors = 0
    No. task warnings = 0
    No. errors = 0
    No. selected = 0
    No. inserted = 0
    No. updated = 0
    No. deleted = 0
    No. discarded= 0
    No. merged = 0
    No. corrected= 0
    select mr.execution_audit_id,
    mr.map_name "Map Name"
    , to_char(r.start_time,'DD-MON hh24:mi') "Exec Date"
    , to_char(trunc(r.elapse_time/60))
    || 'm '
    || to_char(r.elapse_time - 60 * trunc(r.elapse_time/60))
    || 's' "Exec Time"
    , nvl(r.number_records_merged,0)+nvl(r.number_records_inserted,0)+nvl(r.number_records_updated,0) "No Records"
    from all_rt_audit_map_runs mr
    , all_rt_audit_step_runs r
    , all_rt_audit_step_run_targets t
    where execution_audit_id = 270625
    and mr.map_run_id = r.map_run_id
    and mr.map_run_id = t.map_run_id
    and r.step_id = t.step_id
    and r.run_status = 'COMPLETE'
    order by r.start_time DESC;
    No Rows found
    ---- Status from OWB
    Returns Audit id 270634.
    Audit ID MapName Exec Date Time Rows
    270634     "MAP_ABC"     16-JUL 13:53     0m 0s     1
    270634     "MAP_ABC"     16-JUL 13:53     0m 0s     0
    270634     "MAP_ABC"     16-JUL 13:53     0m 0s     0
    270634     "MAP_ABC"     16-JUL 13:53     0m 0s     2
    Any Ideas/thoughts
    -DvvB
    Edited by: user512679 on Jul 17, 2009 9:56 AM

    It only happens when any previous execution of the map in SQL fails then all the subsequent map executions completes 'OK' without processing any rows and without logging any audit information.
    Execute the map in New SQL session to have successful execution.
    -DvvB

  • In which sequence are queries and sub-queries executed by the SQL Engine

    In which sequence are queries and sub-queries executed by the SQL Engine?
    Which is correct ?
    a. primary query -> sub query -> sub sub query and so on
    b. sub sub query -> sub query -> prime query
    c. the whole query is interpreted at one time
    d. there is no fixed sequence of interpretation, the query parser takes a decision on the fly

    In which sequence are queries and sub-queries executed by the SQL Engine?
    Which is correct ?
    a. primary query -> sub query -> sub sub query and so on
    b. sub sub query -> sub query -> prime query
    c. the whole query is interpreted at one time
    d. there is no fixed sequence of interpretation, the query parser takes a decision on the fly
    Hi, below may help you understanding simple subquery & correlated subquery
    refer :
    http://sqlmag.com/t-sql/t-sql-starters-simple-and-correlated-subqueries
    a) if it is correlated subquery
     A correlated subquery is one that depends on a value in the outer query. In programming terms, you pass the subroutine an argument, then the subroutine evaluates the query and returns a result. You move on to the next record and repeat the process. The
    net effect is that the subquery runs once for every row in the main query; this situation is inefficient.
                                  A possible alternative is to rewrite the correlated subquery as a join. However,
    some situations require a subquery. Eg- IN(with outer table refernce)
    so  main query -> subquery
    b) if it is simple subquery
    A subquery is a query that SQL Server must evaluate before it can process the main query, Eg- IN(with out outer table refernce)
    so subquery-> main query
    c) correlated query interpreted row by row with subquery, while subquery is interpreted at one time(outer table and inner table)
    d) in most case it depends on the whether it is correlated subquery or simple subquery
    Thanks
    Saravana Kumar C

  • BAM Deployment error - Microsoft.BizTalk.Bam.Management.BamManagerException: The BAM deployment failed. --- Microsoft.BizTalk.Bam.Management.BamManagerException: Encountered error while executing command on SQL Server "ServerName".

    HI,
    I am getting below error while deploying BAM activity ...Pls help me resolve this issue.
    Microsoft.BizTalk.Bam.Management.BamManagerException: The BAM deployment failed. ---> Microsoft.BizTalk.Bam.Management.BamManagerException: Encountered error while executing command on SQL Server
    "ServerName". ---> System.Data.SqlClient.SqlException: An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or
    [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed.
    Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias
    to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An
    object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column
    name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing
    or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For
    SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements,
    verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column
    has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For
    other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements,
    look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 
     at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock,
    Boolean asyncClose)   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)   at
    System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean
    sendToPipe, Int32 timeout, Boolean asyncWrite)   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()   at Microsoft.BizTalk.Bam.Management.SqlHelper.ExecuteBatches(String cmdText)   at Microsoft.BizTalk.Bam.Management.SqlHelper.ExecuteNonQuery(String
    cmdText, CommandType cmdType, Boolean inTransaction, Transaction transaction)   --- End of inner exception stack trace ---   at Microsoft.BizTalk.Bam.Management.SqlHelper.ExecuteNonQuery(String cmdText, CommandType cmdType, Boolean inTransaction,
    Transaction transaction)   at Microsoft.BizTalk.Bam.Management.ViewModule.Create(XmlDocument defXmlDoc)   at Microsoft.BizTalk.Bam.Management.WorkerModule.DispatchOperation(OperationType operation, XmlDocument defXmlDoc)   at
    Microsoft.BizTalk.Bam.Management.BamManager.ProcessOneBamArtifactType(BamArtifactType bamArtifact, OperationType operation)   at Microsoft.BizTalk.Bam.Management.BamManager.ManageInfrastructure(OperationType operation)   at Microsoft.BizTalk.Bam.Management.BamManager.Deploy() 
     --- End of inner exception stack trace ---   at Microsoft.BizTalk.Bam.Management.BamManager.Deploy()   at Microsoft.BizTalk.Bam.Management.BamManagementUtility.BamManagementUtility.HandleDeployAll()   at Microsoft.BizTalk.Bam.Management.BamManagementUtility.BamManagementUtility.DispatchCommand() 
     at Microsoft.BizTalk.Bam.Management.BamManagementUtility.BamManagementUtility.Run()   at Microsoft.BizTalk.Bam.Management.BamManagementUtility.BamManagementUtility.Main(String[] args)

    Your View Name, OLAP Cube Name and certain other restrictions listed @http://msdn.microsoft.com/en-us/library/aa561577.aspx
    Please review your BAM Definitons.
    Regards.

  • Validation Error - An error occured executing the provided SQL Command

    Hi All,
    I am new to using SQL Server in general (2008 R2) and am trying to change the source location for multiple packages in order to obtain our data from a more reliable environment.
    I have created a copy of the target database where the data will be loaded, amended the source and target connection managers and ran through the packages to ensure they work, which many do.
    We are changing the source from a local server to a cloud based server and when running a package that literally truncates target table, selects * from source, and inserts data to target I get a validation error "An error occurred executing the provided
    SQL Command "Select *...." The connection has been disabled" and "component ADO NET Source failed validation and returned validation status "VS_ISBROKEN"".
    The table structure from the 2 sources is the same and I have even recreated the data flow tasks to ensure the metadata has updated. When selecting 100 rows or even 5,000,000 rows from source the package runs fine but will fail as above
    when selecting &* (around 9.5 million rows).
    I'm not sure if this is due to the new data source being web based or if it could be some erroneous data in the table that isn't being selected when limiting to 5 milling rows etc.
    I have spend hours trying to figure out what the issue could be (doesn't help being new to SQL Server) so any guidance would be hugely appreciated!!!
    Thanks,
    Louis.

    Hi All,
    Unfortunately I don't believe any of the above are the issues.
    Our current working project/packages run via an SQL agent job daily. To test and ensure the package in question ran outside of the agent WITHOUT changing the ADO NET Source I exported the package (that runs daily) and ran it locally,
    to which it failed.
    I then edited the select statement from 'select * from [table]' to 'select top(100) from [table] to which it ran without error.
    So in summary:
    Package will run fine if run as part of the agent job (with multiple other packages)
    Package will not run from File System when selecting * from the source table
    Package will run from File System when selecting limited rows
    Could this be something to do with permissions? The errors I get are:
    An error occurred executing the provided SQL command: "select * from [table]". The connection has been disabled.
    "component" ADO NET Source"(396") failed validation and returned validation status "VS_ISBROKEN".
    Thanks,
    Louis.

  • Executing a pl sql package from a form

    hi,
    I am using apex to develop a form, which has url's to several pl sql files / packages. I want this feature:
    when i click on the url it should execute the pl sql procedures stored in that corresponding file.
    Can i get a head start on this.
    PS: I am using chapter 9 of apex tut.
    "How to Upload and Download Files in an Application"
    as a starting point to develop this form

    Depending on whether or not your pl/sql procedures/packages return values, you can create a page with 2 different types of regions (both of type "pl/sql function return sql query") and write code similar to the following -
    declare
      v_sql varchar2(1000) ;
    begin
      execute immediate :P7_PLSQL_NAME ;
      /* P7_PLSQL_NAME is a page item that is passed a value from the link that was clicked */
      v_sql := 'select ''PL/SQL Executed Successfull!!!!'' result from dual ' ;
      return v_sql ;
    end ;

  • Call a executable through PL/SQL

    Can you give me some sample code to run a executable within PL/SQL?

    We use the following Java class as a Java stored procedure. It can start a host command in both asynchronous and synchronous mode and return output from the command.
    import java.io.*;
    import java.util.*;
    public class util
    // Executes an operating system command. The command shall be fully qualified.
    // The Java connects with silent login. No environment set-up files are run
    // and no path is set. The mode can be "sync" or "async" for respectively
    // synchronous and asynchronous execution
    static public int OSCmd(String cmd, String mode, String[] output)
    throws IOException, InterruptedException
    System.out.println("OSCmd "+cmd+" ("+mode+")");
    output[0]="";
    // start command
    Process proc = Runtime.getRuntime().exec(cmd);
    if (mode.equals("sync"))
    // get command's stdout and stderr
    InputStream stdout = proc.getInputStream();
    InputStream stderr = proc.getErrorStream();
    String str;
    // Stdout
    BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
    while ((str = br.readLine()) != null)
    output[0]+=str+"\n";
    br.close();
    // Stderr
    br = new BufferedReader(new InputStreamReader(stderr));
    while ((str = br.readLine()) != null)
    output[0]+=str+"\n";
    br.close();
    // wait for command to terminate
    proc.waitFor();
    return proc.exitValue();
    return 0;
    At least some of the following permissions are required:
    call dbms_java.grant_permission( 'COMMON', 'SYS:java.net.SocketPermission', '*', 'resolve, connect, accept, listen');
    call dbms_java.grant_permission('COMMON', 'SYS:java.io.FilePermission', '<<ALL FILES>>', 'execute');
    call dbms_java.grant_permission('COMMON', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '');
    call dbms_java.grant_permission('COMMON', 'SYS:java.lang.RuntimePermission', 'readFileDescriptor', '');

  • How to execute a script(.sql) file from a PL\SQL procedure

    I would like to know how to execute a .sql file from a stored procedure and the result of it should update a table. My .sql file contains select statements.

    Hi!
    just go through the following piece of code -
    SQL> ed
    Wrote file afiedt.buf
      1  declare
      2    str varchar2(200);
      3  begin
      4    str := '@C:\RND\Oracle\Misc\b.sql';
      5    execute immediate(str);
      6* end;
    SQL> /
    declare
    ERROR at line 1:
    ORA-00900: invalid SQL statement
    ORA-06512: at line 5ORA-00900: invalid SQL statement
    Cause: The statement is not recognized as a valid SQL statement. This error can occur if the Procedural Option is not installed and a SQL statement is issued that requires this option (for example, a CREATE PROCEDURE statement). You can determine if the Procedural Option is installed by starting SQL*Plus. If the PL/SQL banner is not displayed, then the option is not installed.
    Action: Correct the syntax or install the Procedural Option.
    Regards.
    Satyaki De.

  • How to execute procedure in SQL Worksheet ?

    Hi, anybody know, how I can execute procedure here?
    I try EXEC sec_roles, EXEC security_admin.sec_roles, EXECUTE - there is a SQL statement error. When I use CALL - there is no such procedure (I have execute previleges).
    Although in SQLPlus EXEC works, but there are problems with standard SQL commands (all of them returns "2" no matter what content is).
    Any ideas?
    Regards
    Krzysztof

    exec procedure(parameters) is a sql plus (and a few others) shortcut for
    BEGIN
       procedure(parameters);
    END;So try that then pressing/clicking whatever it is in sql worksheet that makes a statement run.
    Note that if your procedure has parameters defined as OUT or IN OUT, you will need to supply a variable to accept the returned value(s).
    John

  • Execute Immediate with SQL in Stored Procedure

    Dear Experts, Please help / guide on below statement which i want to execute in stored procedure,
    EXECUTE IMMEDIATE 'INSERT INTO TABLE
    SELECT COUNT(AGENTID) FROM TABLE_1 A,
    TABLE_2 B, TABLE_3 C
    WHERE A.COL = B.COL AND B.COL = C.COL AND
    DT BETWEEN TRUNC(SYSDATE-1) + 1/24 + 0/12/60/60 AND TRUNC(SYSDATE-1) + 25/24 - 0/12/60/60';
    Edited by: DBA on Dec 3, 2011 3:57 PM

    So what's the problem? The only thing I can see is:
    INSERT INTO TABLETABLE is reserved word, so name your table differently.
    Also, I am assuming the above statement is actually generated from some variables based on some conditions, otherwise why would you need dynamic SQL, just issue:
    INSERT INTO TABLE
    SELECT COUNT(AGENTID) FROM TABLE_1 A,
    TABLE_2 B, TABLE_3 C
    WHERE A.COL = B.COL AND B.COL = C.COL AND
    DT BETWEEN TRUNC(SYSDATE-1) + 1/24 + 0/12/60/60 AND TRUNC(SYSDATE-1) + 25/24 - 0/12/60/60;

Maybe you are looking for