Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

java.sql.SQLSyntaxErrorException: ORA-00904: invalid identifier

903513Mar 27 2014 — edited Mar 30 2014

Hi all,

Im using JDeveloper 11.1.1.6.0.

here I declared method in Main class which returns reference to Connection type object.

When I run the app I type "ksh" in the fields and hit submit.

It shows following error,java.sql.SQLException: ORA-00904: "KSH": invalid identifier

{code}

    public static List<Privileges> getUserPrivileges(DBTransaction dbt, Object userId)

    {

  

      String sql = " SELECT  m.menu_code " +

                   "   FROM sec_menus m JOIN sec_menu_privileges p " +

                   "     ON (    m.menu_code = p.menu_code " +

                   "    AND m.app_id = p.app_id  )" +

                   "   JOIN sec_user_app_groups g " +

                   "     ON ( p.GROUP_ID = g.GROUP_ID " +

                   "    AND p.app_id = g.app_id " +

                   "    AND user_id = " + userId +

                   "             )";

   

      PreparedStatement stat = null;

      ResultSet rs = null;

      List<Privileges> privilegesList = new ArrayList<Privileges>();

      String menuCode = "";    

      try

      {

        stat = dbt.createPreparedStatement(sql, 1) ;

        rs = stat.executeQuery();

        while(rs.next())

        {

          menuCode = rs.getString(1);

      

        }

      }

     

      catch(Exception e)

      {

        e.printStackTrace();

      }

      finally

      {

        closeStatement(stat);

        closeResultSet(rs);

      }

 

      return privilegesList;

    }

    public static void closeStatement(Statement stat)

    {

      try

      {

        stat.close();

      }

      catch (SQLException e)

      {

      }

    }

    public static void closeResultSet(ResultSet rs)

    {

      try

      {

        rs.close();

      }

      catch (SQLException e)

      {

      }

    }

------------

CREATE TABLE SEC_USERS

(

  USER_ID          VARCHAR2(10),

  USER_NAME        VARCHAR2(50),

  PASSWORD         VARCHAR2(300)

)

Insert into SEC_USERS

   (USER_ID, USER_NAME, USER_FIRST_NAME, USER_LAST_NAME, PASSWORD)

Values

   ('ksh', 'ksh', 'test');

COMMIT;

-----------------------

Error:

java.sql.SQLSyntaxErrorException: ORA-00904: "KSH": invalid identifier

  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)

  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)

  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931)

  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)

  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)

  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548)

  at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)

  at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:947)

  at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1283)

  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1441)

  at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3769)

  at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3823)

  at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1671)

  at sec.ControllerUtil.getUserPrivileges(ControllerUtil.java:90)

  at sec.ControllerUtil.login(ControllerUtil.java:59)

  at sec.model.AppModuleImpl.login(AppModuleImpl.java:77)

  at sec.control.bean.LoginPage.loginAction(LoginPage.java:92)

  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.sun.el.parser.AstValue.invoke(Unknown Source)

  at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)

  at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)

  at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

  at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)

  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 javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)

  at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:889)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:379)

  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)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)

  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:209)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

<ActionListenerImpl> <processAction> java.lang.NullPointerException

javax.faces.el.EvaluationException: java.lang.NullPointerException

  at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51)

  at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

  at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)

  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 javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)

  at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:889)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:379)

  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)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

  at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)

  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:209)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

Caused by: java.lang.NullPointerException

  at sec.ControllerUtil.closeResultSet(ControllerUtil.java:136)

  at sec.ControllerUtil.getUserPrivileges(ControllerUtil.java:118)

  at sec.ControllerUtil.login(ControllerUtil.java:59)

  at sec.model.AppModuleImpl.login(AppModuleImpl.java:77)

  at sec.control.bean.LoginPage.loginAction(LoginPage.java:92)

  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.sun.el.parser.AstValue.invoke(Unknown Source)

  at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)

  at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)

  ... 54 more

{\code}

Thanks in advance

This post has been answered by Dimitar Dimitrov on Mar 27 2014
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 27 2014
Added on Mar 27 2014
3 comments
6,853 views