10 Replies Latest reply: Jun 12, 2012 12:58 AM by 939715 RSS

    ORA-01030 (Insufficient Privileges) when calling from a task flow

    939715
      Hello,

      I have an Application A that defines view objects and according data controls.
      In Application B I can see the Application Module of App A under data controls.

      Now, In App B I created a jspx page and pulled a view from A onto it as a Form.

      The Problem is, if I call the page directly then everything is fine, if I call
      it from a task flow I get an ORA-01030 (Insufficient Privileges) Error.

      Does anybody now, which setting to do to be able to use that view
      within a task flow.

      Thx in advance
      Yves

      PS: JDeveloper 11.1.1.4.0 and integrated Weblogic Server

      Edited by: Yves5478 on 04.06.2012 07:21
        • 2. Re: ORA-01030 (Insufficient Privileges) when calling from a task flow
          vinod_t_krishnan
          do u have security configured..? did u change the taskflow permissions?
          • 3. Re: ORA-01030 (Insufficient Privileges) when calling from a task flow
            939715
            Hi, I just found the permission dialog: right-clicking on the form with the inserted view and click on "Edit Authorization".
            I changed the permissions of the web page and the task flow to everybode but still no effect.

            Where can I change the permissions of a data control that comes from another application and is used in a task flow?

            Here is the Stack Trace:

            <Utils> <buildFacesMessage> ADF: Adding the following JSF error message: ORA-01031: insufficient privileges

            java.sql.SQLSyntaxErrorException: ORA-01031: insufficient privileges

                 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)
                 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
                 at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:889)
                 at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)
                 at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)
                 at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:540)
                 at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)
                 at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:924)
                 at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1261)
                 at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1419)
                 at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3752)
                 at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3806)
                 at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1667)
                 at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:135)
                 at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1246)
                 at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:921)
                 at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:6875)
                 at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1179)
                 at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1035)
                 at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2774)
                 at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2751)
                 at oracle.jbo.server.ViewRowSetIteratorImpl.first(ViewRowSetIteratorImpl.java:1580)
                 at oracle.jbo.server.ViewRowSetImpl.first(ViewRowSetImpl.java:3475)
                 at oracle.jbo.server.ViewObjectImpl.first(ViewObjectImpl.java:9717)
                 at oracle.adf.model.binding.DCIteratorBinding.internalGetCurrentRowInBinding(DCIteratorBinding.java:2256)
                 at oracle.jbo.uicli.binding.JUIteratorBinding.internalGetCurrentRowInBinding(JUIteratorBinding.java:500)
                 at oracle.adf.model.binding.DCIteratorBinding.getCurrentRow(DCIteratorBinding.java:2201)
                 at oracle.adf.model.binding.DCControlBinding.getCurrentRow(DCControlBinding.java:387)
                 at oracle.jbo.uicli.binding.JUControlBinding.getCurrentRow(JUControlBinding.java:98)
                 at oracle.jbo.uicli.binding.JUCtrlValueBinding$1JUAttributeDefHintsMap.getRow(JUCtrlValueBinding.java:4011)
                 at oracle.jbo.common.AttributeHintsMap.internalGet(AttributeHintsMap.java:56)
                 at oracle.jbo.uicli.binding.JUCtrlValueBinding$1JUAttributeDefHintsMap.internalGet(JUCtrlValueBinding.java:3998)
                 at oracle.jbo.common.JboAbstractMap.get(JboAbstractMap.java:54)
                 at oracle.jbo.uicli.binding.JUCtrlValueBinding.getHintObject(JUCtrlValueBinding.java:2107)
                 at oracle.jbo.uicli.binding.JUCtrlValueBinding.getHint(JUCtrlValueBinding.java:2096)
                 at oracle.jbo.uicli.binding.JUCtrlValueBinding.getLabel(JUCtrlValueBinding.java:1963)
                 at oracle.jbo.uicli.binding.JUCtrlValueBinding$1JUAttributeDefHintsMap.internalGet(JUCtrlValueBinding.java:3944)
                 at oracle.jbo.common.JboAbstractMap.get(JboAbstractMap.java:54)
                 at javax.el.MapELResolver.getValue(MapELResolver.java:164)
                 at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:173)
                 at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:200)
                 at com.sun.el.parser.AstValue.getValue(Unknown Source)
                 at com.sun.el.ValueExpressionImpl.getValue(Unknown Source)
                 at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
                 at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.getLabel(LabelLayoutRenderer.java:917)
                 at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.encodeAll(LabelLayoutRenderer.java:213)
                 at oracle.adfinternal.view.faces.renderkit.rich.PanelLabelAndMessageRenderer.encodeAll(PanelLabelAndMessageRenderer.java:115)
                 at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
                 at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
                 at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
                 at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
                 at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
                 at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeFormItem(PanelFormLayoutRenderer.java:1015)
                 at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.access$100(PanelFormLayoutRenderer.java:46)
                 at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1491)
                 at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1410)
                 at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:170)
                 at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:290)
                 at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:255)
                 at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeChildren(PanelFormLayoutRenderer.java:352)
                 at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.encodeAll(PanelFormLayoutRenderer.java:187)
                 at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
                 at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
                 at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
                 at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
                 at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
                 at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:415)
                 at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:220)
                 at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
                 at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
                 at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
                 at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
                 at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
                 at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:415)
                 at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1181)
                 at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
                 at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
                 at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
                 at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:266)
                 at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:197)
                 at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
                 at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
                 at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:777)
                 at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:293)
                 at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:213)
                 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
                 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:175)
                 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)

            Edited by: Yves5478 on 04.06.2012 23:32
            • 4. Re: ORA-01030 (Insufficient Privileges) when calling from a task flow
              John Stegeman
              The Oracle DB user that your AM is using doesn't have permission to access a table that is used by the View Object. This is a DB issue, not a task flow issue.
              • 5. Re: ORA-01030 (Insufficient Privileges) when calling from a task flow
                939715
                But why is it working when I use the same view object in the same application but outside the task flow?
                It is also possible to open the table in the database ressource which is attached to the application.

                Edited by: Yves5478 on 04.06.2012 23:53
                • 6. Re: ORA-01030 (Insufficient Privileges) when calling from a task flow
                  John Stegeman
                  What are the transaction settings for your task flow? It's possible that you have joined an existing transaction from another AM using another DB user.
                  • 7. Re: ORA-01030 (Insufficient Privileges) when calling from a task flow
                    939715
                    It is "Always Begin new Transaction" and "Share data controls with calling task flow" is ticked.
                    • 8. Re: ORA-01030 (Insufficient Privileges) when calling from a task flow
                      John Stegeman
                      I just made a simple test case in 11.1.1.6 and cannot reproduce that type of behaviour. Can you:

                      a). Try in 11.1.1.6?
                      b). Tell us how to reproduce the error?

                      John
                      • 9. Re: ORA-01030 (Insufficient Privileges) when calling from a task flow
                        939715
                        A colleague of mine just tried to reproduce it in 11.1.1.4 in a different application and there it worked witout problems
                        So it is not a problem of 11.1.1.4
                        We also compared the settings (Application Module -> Data Model -> Application Module Instances) and the other settings
                        already named in this thread, but thats all the same.
                        • 10. Re: ORA-01030 (Insufficient Privileges) when calling from a task flow
                          939715
                          I now solved this problem. It was that the Application A (which defines View objects and data controls)
                          was not working properly. Some guy checked buggy code in.

                          Thanks
                          Yves


                          Lessons learned:
                          - Never trust an application just because it comes freshly out of the repository, compiles and is said to be error free......
                          - Good function of JDeveloper to use "run" on an Application Module and test the views!!