Oracle 00904 error

2
Error I got the next error on a data database in Oracle. 2011-01-31 14:22:22.391 WARNING - ConnectionBus_Retrieve: An exception has occurred for the following request(s): jC (depth = -1, amount = 20): //Module.Object 2011-01-31 14:22:22.391 ERROR - Connector: java.sql.SQLSyntaxErrorException: ORA-00904: : invalid identifier 2011-01-31 14:22:22.391 ERROR Connectorab: java.sql.SQLSyntaxErrorException: ORA-00904: : invalid identifier at av.a(SourceFile:1535) Caused by: java.sql.SQLSyntaxErrorException: ORA-00904: : invalid identifier at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193) at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:852) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1153) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275) at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1477) at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:392) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at av.a(SourceFile:386) at av.a(SourceFile:290) at av.a(SourceFile:165) at av.a(SourceFile:154) at iy.a(SourceFile:47) at gh.a(SourceFile:181) at gh.a(SourceFile:139) at gh.a(SourceFile:87) at lv.a(SourceFile:69) at jA.a(SourceFile:47) at jj.a(SourceFile:222) at eF.a(SourceFile:101) at eF.a(SourceFile:74) at eF.executeAction(SourceFile:24) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at gk.execute(SourceFile:289) at jr.a(SourceFile:297) at jr.a(SourceFile:229) at jr.processRequest(SourceFile:173) at fz.a(SourceFile:71) at com.mendix.core.MxRuntime.processRequest(SourceFile:913) at com.mendix.m2ee.server.handler.RuntimeHandler.handle(RuntimeHandler.java:42) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:334) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406) at org.eclipse.jetty.server.nio.BlockingChannelConnector$ConnectorEndPoint.run(BlockingChannelConnector.java:187) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:619) Data in database When i look in this table (Module.Object) i see only one record without any references to other objects: ID CHANGEDATE CONTENT CREATEDDATE SYSTEM$OWNER SYSTEM$CHANGEDBY Speed 1 01-12-10 14:03:48,522000000 TextField! 02-06-10 10:34:44,595000000 3 5 1 Google I googled this error and found: http://ora-00904.ora-code.com/ "Enter a valid column name. A valid column name must begin with a letter, be less than or equal to 30 characters, and consist of only alphanumeric characters and the special characters $, _, and #. If it contains other characters, then it must be enclosed in double quotation marks. It may not be a reserved word." I have no clue what could be the problem.
asked
2 answers
1

You might have a look at the column "Speed". If it is defined in the database as "Speed" and you query the table by: select speed from ... then you get the ORA-00904.

In this case you should use: select "Speed" from ...

Or rename the column.

answered
1

The solution for the problem was a security configuration setting on the Oracle database. None of the users had access to the dbms_lob, the query that was used had a function in it which was ´dbms_lob.substr()´. This function created the error in my first post, because the user didn't had any access to this function.

answered