RegisterIndexTableOutParameter of JAVA_OBJECT-elemnt raises Invalid column

i wrote below code
---------------Oracle ---------------------
CREATE OR REPLACE PACKAGE K_WD_COMMON AUTHID CURRENT_USER IS
TYPE TYPEREC IS RECORD(
COL1 VARCHAR2(50),
COL2 NUMBER(3)
--TYPE TYPETAB IS TABLE OF TYPEREC INDEX BY BINARY_INTEGER;
TYPE TYPETAB IS VARRAY(100) OF TYPEREC;
END K_WD_COMMON;
CREATE OR REPLACE PROCEDURE WDTEST_PRC_NESTED_TABLE(TESTTAB OUT RMS.K_WD_COMMON.TYPETAB) AS
BEGIN
TESTTAB(1).COL1 := 'TEST1';
TESTTAB(1).COL2 := 1;
TESTTAB(2).COL1 := 'TEST2';
TESTTAB(2).COL2 := 2;
RETURN;
END;
---------------java code ---------------------
Connection conn = DriverManager.getConnection(url, "a", "a");
ResultSet rs = null;
//System.out.println("ARRAY : " + Types.ARRAY);
String sql = "{CALL RMS.WDTEST_PRC_NESTED_TABLE( ? )}";
OracleCallableStatement cs = (OracleCallableStatement) conn.prepareCall(sql);
//cs.registerOutParameter(1, OracleTypes.PLSQL_INDEX_TABLE);
//cs.registerIndexTableOutParameter(1, 100000, OracleTypes.OTHER, 0);
cs.registerIndexTableOutParameter(1, 100000, OracleTypes.JAVA_OBJECT, 0);
-----------it raises below error
java.sql.SQLException: Invalid column type
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleStatement.get_internal_type(OracleStatement.java:6411)
at oracle.jdbc.driver.OracleCallableStatement.registerIndexTableOutParameter(OracleCallableStatement.java:2271)
at WDLib.prcNestedTable(WDLib.java:67)
at WDLib.main(WDLib.java:82)
isn't it possible?
thanks in advance.
regards
Kiyong

Kiyong,
If I remember correctly, "record" types are not supported, but in any case, the type must be declared globally -- it cannot be declared within a (PL/SQL) package. You need to define the type using the "create type ..." (SQL) statement.
Please refer to the java documentation for more details. The documentation is available from:
http://tahiti.oracle.com
Also, the following Web page has links to sample code that demonstrates the use of ARRAYs:
http://www.oracle.com/technology/tech/java/sqlj_jdbc/index.html
Good Luck,
Avi.

Similar Messages

  • Parameter causes invalid column type in custom iSetup API

    I have written a custom BC4J API that has 1 parameter. The extract operation for this API worked earlier with no parameter defined. Now I have defined 1 parameter, and specified 1 value for the parameter, and upon extraction, I get this error:
    Name: XXECSS_AZ_AKCUSTOMREGIONS
    Type: BC4J
    Path: oracle.apps.xxecss.isetup.server.AkCustomRegionsAM
    Time Taken(seconds): 1.0
    Logging parameter criteria xml
    <?xml version="1.0"?><parameters><conjunction>AND</conjunction><language></language><mode type="Import"> </mode> <mode type="Export"><param type="NameValuePair" seq="1" display="DisplayEnabled" editable="Editable"><operator>LIKE</operator><separator> </separator><name>CustomizationCode</name><value>1251058748512EGO_ITEM_RESULT_D</value><msgcode></msgcode><appcode></appcode><filtercode>CCFILTER</filtercode><datatype>java.lang.String</datatype><sqlforlov>SELECT DISTINCT CUSTOMIZATION_CODE CustomizationCode FROM AK.AK_CUSTOM_REGIONS</sqlforlov><sqlforlovcol></sqlforlovcol><param1>Customization Code</param1></param></mode> </parameters>
    oracle.apps.fnd.framework.OAException: Application: FND, Message Name: FND_GENERIC_MESSAGE. Tokens: MESSAGE = oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT * FROM (SELECT AkCustomRegionsEO.CREATED_BY,
    AkCustomRegionsEO.CREATION_DATE,
    AkCustomRegionsEO.CRITERIA_JOIN_CONDITION,
    AkCustomRegionsEO.CUSTOMIZATION_APPLICATION_ID,
    AkCustomRegionsEO.CUSTOMIZATION_CODE,
    AkCustomRegionsEO.LAST_UPDATED_BY,
    AkCustomRegionsEO.LAST_UPDATE_DATE,
    AkCustomRegionsEO.LAST_UPDATE_LOGIN,
    AkCustomRegionsEO.PROPERTY_NAME,
    AkCustomRegionsEO.PROPERTY_NUMBER_VALUE,
    AkCustomRegionsEO.PROPERTY_VARCHAR2_VALUE,
    AkCustomRegionsEO.REGION_APPLICATION_ID,
    AkCustomRegionsEO.REGION_CODE
    FROM AK.AK_CUSTOM_REGIONS AkCustomRegionsEO) QRSLT WHERE ((CUSTOMIZATION_CODE LIKE :1 ));
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:896)
         at oracle.apps.az.fwk.server.BEExport.exportToXML(BEExport.java:525)
         at oracle.apps.az.fwk.server.BEApplicationModuleImpl.exportToXML(BEApplicationModuleImpl.java:403)
         at oracle.apps.az.r12.api.BC4JAPI.exportAPI(BC4JAPI.java:256)
         at oracle.apps.az.r12.extractor.cpserver.APIExtractor$APIExecuter.run(APIExtractor.java:635)
    ## Detail 0 ##
    java.sql.SQLException: Invalid column type
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9231)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8812)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9534)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectAtName(OraclePreparedStatement.java:9560)
         at oracle.jbo.server.OracleSQLBuilderImpl.bindParamValue(OracleSQLBuilderImpl.java:3919)
         at oracle.jbo.server.BaseSQLBuilderImpl.bindParametersForStmt(BaseSQLBuilderImpl.java:3335)
         at oracle.jbo.server.ViewObjectImpl.bindParametersForCollection(ViewObjectImpl.java:13827)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:804)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:669)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3723)
         at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(Unknown Source)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(OAViewObjectImpl.java:4511)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:743)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:892)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:806)
         at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:800)
         at oracle.apps.az.fwk.server.BEExport.exportToXML(BEExport.java:514)
         at oracle.apps.az.fwk.server.BEApplicationModuleImpl.exportToXML(BEApplicationModuleImpl.java:403)
         at oracle.apps.az.r12.api.BC4JAPI.exportAPI(BC4JAPI.java:256)
         at oracle.apps.az.r12.extractor.cpserver.APIExtractor$APIExecuter.run(APIExtractor.java:635)
    Status: ERROR
    The data type used is java.lang.String, and the value used is : 1251058748512EGO_ITEM_RESULT_D.
    using the query shown here, replacing the :1 bind variable with this value works fine. I'm wondering if I need to use a different data type, something more specifically supported by the iSetup Framework?

    Never Mind. I found the problem. It turns out it was that the VO's in the API were set to OracleNamed Binding, and it should be OraclePositional (Oracle) type binding.

  • ORA-00904: invalid column name in select query by using abstract datatype

    Hi,
    I had created abstract datatype as PERSON_TY and ADDRESS_TY ,
    after inserting the record . i'm tryng to select the column but i got the error , even i refferd all those thing. they are given that same please look this finde me a result.
    SQL> DESC PERSON_TY
    Name Null? Type
    NAME VARCHAR2(25)
    ADDRESS ADDRESS_TY
    SQL> DESC ADDRESS_TY
    Name Null? Type
    STREET VARCHAR2(30)
    CITY VARCHAR2(25)
    STATE CHAR(2)
    COUNTRY VARCHAR2(15)
    SQL> SELECT * FROM EMPLOYE
    2 ;
    EMP_CODE
    PERSON(NAME, ADDRESS(STREET, CITY, STATE, COUNTRY))
    10
    PERSON_TY('VENKAT', ADDRESS_TY('112: BLUE MOUNT', 'CHENNAI', 'TN', 'INDIA'))
    20
    PERSON_TY('SRINI', ADDRESS_TY('144: GREEN GARDEN', 'THAMBARAM', 'TN', 'INDIA'))
    SQL> SELECT PERSON.NAME FROM EMPLOYE
    2 ;
    SELECT PERSON.NAME FROM EMPLOYE
    ERROR at line 1:
    ORA-00904: invalid column name
    regards
    venki

    SELECT PERSON.NAME FROM EMPLOYEIf you look in the documentation, you will see that we need to alias the table in order to make this work:
    select e.person.name from employees e
    /Cheers, APC
    Blog : http://radiofreetooting.blogspot.com

  • Invalid column Index error - While consuming Calculation view via Native SQL

    Hi Experts,
    I am trying to consume a Calculation view (sql script one) , which has input parameters, via Native SQL in a ABAP program .
    Code snippet for the same would be as follows , Upon execution, it throws an error "Invalid Column Index (8) error " . Can anyone help what could be the issue here ?
    Thanks in Advance,
    Suma
    REPORT ZTEST_HANA2.
    *Report to consume Calculation view (script based) from ABAP
    PARAMETERS: ip_docnr type BELNR_D,
                ip_gjahr type GJAHR,
                ip_bukrs type BUKRS,
                ip_blgr type FAGL_RLDNR.
       DATA: LO_SQL_STMT TYPE REF TO CL_SQL_STATEMENT,
              LO_CONN     TYPE REF TO CL_SQL_CONNECTION,
              LO_RESULT   TYPE REF TO CL_SQL_RESULT_SET,
              LV_SQL      TYPE STRING,
              LR_DATA     TYPE REF TO DATA.
        DATA: LX_SQL_EXC           TYPE REF TO CX_SQL_EXCEPTION,
              LT_SEPMAPPS_CLSDINV  TYPE TABLE OF SEPMAPPS_CLSDINV,
              LV_TEXT              TYPE STRING.
        TRY.
    lv_sql = |SELECT * FROM "_SYS_BIC"."DEMO-ABAP/CA_GET_FI_DATA" | &&
                     |WITH PARAMETERS ('placeholder'= ('$$p_DOCNR$$','{ ip_docnr }'),| &&
                      |'placeholder'=('$$p_GJAHR$$','{ ip_gjahr }')| &&
                      |,'placeholder'= ('$$S_BUKRS$$','{ ip_bukrs }')| &&
                      |,'placeholder'= ('$$p_base_ledger$$','{ ip_blgr }') )| .
             LO_CONN = CL_SQL_CONNECTION=>GET_CONNECTION( ).
             "Create an SQL statement to be executed via the connection
              LO_SQL_STMT = LO_CONN->CREATE_STATEMENT( ).
             "Execute the native SQL query
             LO_RESULT = LO_SQL_STMT->EXECUTE_QUERY( LV_SQL ).
             "Read the result into the internal table lt_sepmapps_clsdinv
             GET REFERENCE OF LT_SEPMAPPS_CLSDINV INTO LR_DATA.
             LO_RESULT->SET_PARAM_TABLE( LR_DATA ).
             LO_RESULT->NEXT_PACKAGE( ).
             LO_RESULT->CLOSE( ).
             LO_CONN->CLOSE( ).
        CATCH CX_SQL_EXCEPTION INTO LX_SQL_EXC.
             LV_TEXT = LX_SQL_EXC->GET_TEXT( ).
             MESSAGE LV_TEXT TYPE 'E'.
        ENDTRY.

    Hi Suma,
    Post the SQL you success run directly on Studio together with error message (even if is the Invalid column index error).
    Check there if the parameters case is working properly... Is it really this confusing options:
    p_GJAHR
    S_BUKRS
    p_base_ledger
    Why not all lower or all upper? Anyhow you must test and find which option works according your modeling
    Regards, Fernando Da Rós

  • Invalid column type error while calling db function.

    We are getting an exception while calling the database function which returns a Varray of objects. We are using jpub to generate the wrapper method, ran sqlj to generate the JDBC code. The environment is weblogic 5.1 EJB container with ORacle 8.1.6.0.0 database. The JDBC driver is 8.1.7 thin, sqlj version is 8.1.7. I am giving below the exception.
    When the sqlj option profile=false is not set, the error is Classcast exception. Appraently the weblogic connection object can not be used to do oracle specific calls. If somebody has done similar things(creating a bean which calls the stored function with weblogic which returns the oracle object types) or know what the issue is, please let me know.
    Thanks,
    Vijay.
    stackTrace:
    java.sql.SQLException: Invalid column type
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at java.sql.SQLException.<init>(SQLException.java:43)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:273)
    at oracle.jdbc.driver.OracleStatement.get_internal_type(OracleStatement.java:4560)
    at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:225)
    at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:350)
    at weblogic.jdbcbase.pool.Statement.registerOutParameter(Statement.java:438)
    at sqlj.runtime.profile.ref.RTStatementJDBCCallable.registerOutParameter(RTStatementJDBCCallable.java:135)
    at sqlj.runtime.profile.ref.ParamRegProfile$ParamRegCachedStatement.registerParameters(Compiled Code)
    at sqlj.runtime.profile.ref.ParamRegProfile$ParamRegCachedStatement.getStatement(ParamRegProfile.java:101)
    at sqlj.runtime.profile.ref.CachedStatementProfileWrapper.getStatement(CachedStatementProfileWrapper.java:134)
    at sqlj.runtime.ExecutionContext$StatementStack.setStatement(ExecutionContext.java:995)
    at sqlj.runtime.ExecutionContext.registerStatement(ExecutionContext.java:523)
    at com.xpede.calculator.processor.jdbc.NewPrdGroupPkg.maincalculator(NewPrdGroupPkg.java:341)
    ----------------------

    Weblogic essentially wrappers the Oracle JDBC driver - as you can see from the stack trace, it does not just wrapper the connection object, but also the statement object.
    The SQLJ runtime does not recognize the JDBC layer anymore as an Oracle JDBC driver.
    What is happening at runtime may be the following:
    (1) The invalid column type likely results from SQLJ attempting to register the type as Types.OTHER (code 1111). This typecode is not supported by Oracle JDBC.
    (2) The class cast exception when using Oracle objects may result from a getObject() call which returns the value in default format (such as oracle.sql.ARRAY) rather than the JPublisher-generated wrapper object.
    Are you using JDK 1.2 / runtime12.zip?
    In that case you can try the standard (java.sql.)SQLData interface (in JPub: -usertypes=jdbc). However, this interface will not support wrappers for VARRAYs.

  • Invalid column name in WLS 6.1 sp4

    We have been using WLS 6.1 sp2 with toplink and never had any problems. Recently
    we migrated to sp4 and get a invalid column name exception while updating records.
    For select queries there is no error. The SQL generated by toplink is -
    UPDATE PR_SUPP SET CNTC_PRSN_NAME = ''
    , REMK = 'Remark 123', LAST_CHNG_DTTM = {ts '2002-11-29 10:59:56.0'} WHERE ((S
    UPP_CODE = 'A0001') AND (LAST_CHNG_DTTM = {ts '2002-11-29 10:46:01.0'}))
    It looks like some problem with the JDBC driver. The databse is Oracle 8.17. How
    to fix it
    The exception stack trace is -
    2002-11-27 11:56:25,763 ERROR com.pws.ubiquity.pr.business.TransactionTypeFacade
    - Error while commiting transaction (creating TransactionType):LOCAL EXCEPTION
    STACK:
    EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
    EXCEPTION DESCRIPTION: java.sql.SQLException: ORA-00904: invalid column name
    INTERNAL EXCEPTION: java.sql.SQLException: ORA-00904: invalid column name
    ERROR CODE: 904
         at oracle.toplink.exceptions.DatabaseException.sqlException(Unknown Source)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(Unknown
    Source)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeNoSelect(Unknown
    Source)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(Unknown
    Source)
         at oracle.toplink.publicinterface.UnitOfWork.executeCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown
    Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown
    Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.insertObject(Unknown
    Source)
         at oracle.toplink.internal.queryframework.StatementQueryMechanism.insertObject(Unknown
    Source)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(Unknown
    Source)
         at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(Unknown Source)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedWrite(Unknown
    Source)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedInsert(Unknown
    Source)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(Unknown
    Source)
         at oracle.toplink.queryframework.WriteObjectQuery.executeCommit(Unknown Source)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWrite(Unknown
    Source)
         at oracle.toplink.queryframework.WriteObjectQuery.execute(Unknown Source)
         at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
         at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at oracle.toplink.internal.sessions.CommitManager.commitAllObjects(Unknown Source)
         at oracle.toplink.publicinterface.Session.writeAllObjects(Unknown Source)
         at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(Unknown Source)
         at oracle.toplink.publicinterface.UnitOfWork.issueSQLbeforeCompletion(Unknown
    Source)
         at oracle.toplink.jts.AbstractSynchronizationListener.beforeCompletion(Unknown
    Source)
         at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:551)
         at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:88)
         at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:982)
         at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1506)
         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:215)
         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:189)
         at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:247)
         at com.pws.ubiquity.pr.business.TransactionTypeFacade.addTransactionType(TransactionTypeFacade.java:584)
         at com.pws.ubiquity.pr.business.TransactionTypeFacade_ocr0a6_EOImpl.addTransactionType(TransactionTypeFacade_ocr0a6_EOImpl.java:271)
         at com.pws.ubiquity.pr.web.action.AddTransactionTypeAction.doExecute(AddTransactionTypeAction.java:120)
         at com.pws.ubiquity.common.web.action.SecureAction.perform(SecureAction.java:240)
         at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    INTERNAL EXCEPTION STACK:
    java.sql.SQLException: ORA-00904: invalid column name
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
         at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
         at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
         at weblogic.jdbc.jts.Statement.executeUpdate(Statement.java:503)
         at weblogic.jdbc.rmi.internal.PreparedStatementImpl.executeUpdate(PreparedStatementImpl.java:66)
         at weblogic.jdbc.rmi.SerialPreparedStatement.executeUpdate(SerialPreparedStatement.java:57)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(Unknown
    Source)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeNoSelect(Unknown
    Source)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(Unknown
    Source)
         at oracle.toplink.publicinterface.UnitOfWork.executeCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown
    Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown
    Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.insertObject(Unknown
    Source)
         at oracle.toplink.internal.queryframework.StatementQueryMechanism.insertObject(Unknown
    Source)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(Unknown
    Source)
         at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(Unknown Source)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedWrite(Unknown
    Source)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedInsert(Unknown
    Source)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(Unknown
    Source)
         at oracle.toplink.queryframework.WriteObjectQuery.executeCommit(Unknown Source)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWrite(Unknown
    Source)
         at oracle.toplink.queryframework.WriteObjectQuery.execute(Unknown Source)
         at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
         at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at oracle.toplink.internal.sessions.CommitManager.commitAllObjects(Unknown Source)
         at oracle.toplink.publicinterface.Session.writeAllObjects(Unknown Source)
         at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(Unknown Source)
         at oracle.toplink.publicinterface.UnitOfWork.issueSQLbeforeCompletion(Unknown
    Source)
         at oracle.toplink.jts.AbstractSynchronizationListener.beforeCompletion(Unknown
    Source)
         at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:551)
         at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:88)
         at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:982)
         at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1506)
         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:215)
         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:189)
         at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:247)
         at com.pws.ubiquity.pr.business.TransactionTypeFacade.addTransactionType(TransactionTypeFacade.java:584)
         at com.pws.ubiquity.pr.business.TransactionTypeFacade_ocr0a6_EOImpl.addTransactionType(TransactionTypeFacade_ocr0a6_EOImpl.java:271)
         at com.pws.ubiquity.pr.web.action.AddTransactionTypeAction.doExecute(AddTransactionTypeAction.java:120)
         at com.pws.ubiquity.common.web.action.SecureAction.perform(SecureAction.java:240)
         at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion:
    sync=oracle.toplink.jts.wls.WebLogicSynchronizationListener@373d4a
    EXCEPTION DESCRIPTION: java.sql.SQLException: ORA-00904: invalid column name
    INTERNAL EXCEPTION: java.sql.SQLException: ORA-00904: invalid column name
    ERROR CODE: 904 - with nested exception:
    [EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
    EXCEPTION DESCRIPTION: java.sql.SQLException: ORA-00904: invalid column name
    INTERNAL EXCEPTION: java.sql.SQLException: ORA-00904: invalid column name
    ERROR CODE: 904]
         at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1490)
         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:265)
         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:189)
         at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:247)
         at com.pws.ubiquity.pr.business.TransactionTypeFacade.addTransactionType(TransactionTypeFacade.java:584)
         at com.pws.ubiquity.pr.business.TransactionTypeFacade_ocr0a6_EOImpl.addTransactionType(TransactionTypeFacade_ocr0a6_EOImpl.java:271)
         at com.pws.ubiquity.pr.web.action.AddTransactionTypeAction.doExecute(AddTransactionTypeAction.java:120)
         at com.pws.ubiquity.common.web.action.SecureAction.perform(SecureAction.java:240)
         at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    2002-11-27 11:56:25,793 DEBUG com.pws.framework.common.MessageSourceFactory -
    Get MessageSource for error message.:
    2002-11-27 11:56:25,793 DEBUG com.pws.framework.common.MessageSourceFactory -
    Get MessageSource for error message.:
    com.pws.framework.exception.GeneralException: There was an unexpected error. Please
    contact your system administrator.
         at com.pws.framework.exception.GeneralException.create(GeneralException.java:111)
         at com.pws.ubiquity.pr.business.TransactionTypeFacade.addTransactionType(TransactionTypeFacade.java:588)
         at com.pws.ubiquity.pr.business.TransactionTypeFacade_ocr0a6_EOImpl.addTransactionType(TransactionTypeFacade_ocr0a6_EOImpl.java:271)
         at com.pws.ubiquity.pr.web.action.AddTransactionTypeAction.doExecute(AddTransactionTypeAction.java:120)
         at com.pws.ubiquity.common.web.action.SecureAction.perform(SecureAction.java:240)
         at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

    We have changed default thin driver to 920 from 817 in 610sp4. If you are using 817/901 dbserver, please put 817/901 classes12.zip in your
    classpath before weblogic.jar and you will be ok.
    Mitesh
    vivek wrote:
    We have been using WLS 6.1 sp2 with toplink and never had any problems. Recently
    we migrated to sp4 and get a invalid column name exception while updating records.
    For select queries there is no error. The SQL generated by toplink is -
    UPDATE PR_SUPP SET CNTC_PRSN_NAME = ''
    , REMK = 'Remark 123', LAST_CHNG_DTTM = {ts '2002-11-29 10:59:56.0'} WHERE ((S
    UPP_CODE = 'A0001') AND (LAST_CHNG_DTTM = {ts '2002-11-29 10:46:01.0'}))
    It looks like some problem with the JDBC driver. The databse is Oracle 8.17. How
    to fix it
    The exception stack trace is -
    2002-11-27 11:56:25,763 ERROR com.pws.ubiquity.pr.business.TransactionTypeFacade
    - Error while commiting transaction (creating TransactionType):LOCAL EXCEPTION
    STACK:
    EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
    EXCEPTION DESCRIPTION: java.sql.SQLException: ORA-00904: invalid column name
    INTERNAL EXCEPTION: java.sql.SQLException: ORA-00904: invalid column name
    ERROR CODE: 904
    at oracle.toplink.exceptions.DatabaseException.sqlException(Unknown Source)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(Unknown
    Source)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeNoSelect(Unknown
    Source)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(Unknown
    Source)
    at oracle.toplink.publicinterface.UnitOfWork.executeCall(Unknown Source)
    at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown
    Source)
    at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown
    Source)
    at oracle.toplink.internal.queryframework.CallQueryMechanism.insertObject(Unknown
    Source)
    at oracle.toplink.internal.queryframework.StatementQueryMechanism.insertObject(Unknown
    Source)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(Unknown
    Source)
    at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(Unknown Source)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedWrite(Unknown
    Source)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedInsert(Unknown
    Source)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(Unknown
    Source)
    at oracle.toplink.queryframework.WriteObjectQuery.executeCommit(Unknown Source)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWrite(Unknown
    Source)
    at oracle.toplink.queryframework.WriteObjectQuery.execute(Unknown Source)
    at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
    at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(Unknown Source)
    at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
    at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
    at oracle.toplink.internal.sessions.CommitManager.commitAllObjects(Unknown Source)
    at oracle.toplink.publicinterface.Session.writeAllObjects(Unknown Source)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(Unknown Source)
    at oracle.toplink.publicinterface.UnitOfWork.issueSQLbeforeCompletion(Unknown
    Source)
    at oracle.toplink.jts.AbstractSynchronizationListener.beforeCompletion(Unknown
    Source)
    at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:551)
    at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:88)
    at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:982)
    at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1506)
    at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:215)
    at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:189)
    at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:247)
    at com.pws.ubiquity.pr.business.TransactionTypeFacade.addTransactionType(TransactionTypeFacade.java:584)
    at com.pws.ubiquity.pr.business.TransactionTypeFacade_ocr0a6_EOImpl.addTransactionType(TransactionTypeFacade_ocr0a6_EOImpl.java:271)
    at com.pws.ubiquity.pr.web.action.AddTransactionTypeAction.doExecute(AddTransactionTypeAction.java:120)
    at com.pws.ubiquity.common.web.action.SecureAction.perform(SecureAction.java:240)
    at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    INTERNAL EXCEPTION STACK:
    java.sql.SQLException: ORA-00904: invalid column name
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
    at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
    at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
    at weblogic.jdbc.jts.Statement.executeUpdate(Statement.java:503)
    at weblogic.jdbc.rmi.internal.PreparedStatementImpl.executeUpdate(PreparedStatementImpl.java:66)
    at weblogic.jdbc.rmi.SerialPreparedStatement.executeUpdate(SerialPreparedStatement.java:57)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(Unknown
    Source)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeNoSelect(Unknown
    Source)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(Unknown
    Source)
    at oracle.toplink.publicinterface.UnitOfWork.executeCall(Unknown Source)
    at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown
    Source)
    at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown
    Source)
    at oracle.toplink.internal.queryframework.CallQueryMechanism.insertObject(Unknown
    Source)
    at oracle.toplink.internal.queryframework.StatementQueryMechanism.insertObject(Unknown
    Source)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(Unknown
    Source)
    at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(Unknown Source)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedWrite(Unknown
    Source)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedInsert(Unknown
    Source)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(Unknown
    Source)
    at oracle.toplink.queryframework.WriteObjectQuery.executeCommit(Unknown Source)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWrite(Unknown
    Source)
    at oracle.toplink.queryframework.WriteObjectQuery.execute(Unknown Source)
    at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
    at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(Unknown Source)
    at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
    at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
    at oracle.toplink.internal.sessions.CommitManager.commitAllObjects(Unknown Source)
    at oracle.toplink.publicinterface.Session.writeAllObjects(Unknown Source)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(Unknown Source)
    at oracle.toplink.publicinterface.UnitOfWork.issueSQLbeforeCompletion(Unknown
    Source)
    at oracle.toplink.jts.AbstractSynchronizationListener.beforeCompletion(Unknown
    Source)
    at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:551)
    at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:88)
    at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:982)
    at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1506)
    at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:215)
    at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:189)
    at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:247)
    at com.pws.ubiquity.pr.business.TransactionTypeFacade.addTransactionType(TransactionTypeFacade.java:584)
    at com.pws.ubiquity.pr.business.TransactionTypeFacade_ocr0a6_EOImpl.addTransactionType(TransactionTypeFacade_ocr0a6_EOImpl.java:271)
    at com.pws.ubiquity.pr.web.action.AddTransactionTypeAction.doExecute(AddTransactionTypeAction.java:120)
    at com.pws.ubiquity.common.web.action.SecureAction.perform(SecureAction.java:240)
    at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    --------------- nested within: ------------------
    weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion:
    sync=oracle.toplink.jts.wls.WebLogicSynchronizationListener@373d4a
    EXCEPTION DESCRIPTION: java.sql.SQLException: ORA-00904: invalid column name
    INTERNAL EXCEPTION: java.sql.SQLException: ORA-00904: invalid column name
    ERROR CODE: 904 - with nested exception:
    [EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
    EXCEPTION DESCRIPTION: java.sql.SQLException: ORA-00904: invalid column name
    INTERNAL EXCEPTION: java.sql.SQLException: ORA-00904: invalid column name
    ERROR CODE: 904]
    at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1490)
    at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:265)
    at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:189)
    at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:247)
    at com.pws.ubiquity.pr.business.TransactionTypeFacade.addTransactionType(TransactionTypeFacade.java:584)
    at com.pws.ubiquity.pr.business.TransactionTypeFacade_ocr0a6_EOImpl.addTransactionType(TransactionTypeFacade_ocr0a6_EOImpl.java:271)
    at com.pws.ubiquity.pr.web.action.AddTransactionTypeAction.doExecute(AddTransactionTypeAction.java:120)
    at com.pws.ubiquity.common.web.action.SecureAction.perform(SecureAction.java:240)
    at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    2002-11-27 11:56:25,793 DEBUG com.pws.framework.common.MessageSourceFactory -
    Get MessageSource for error message.:
    2002-11-27 11:56:25,793 DEBUG com.pws.framework.common.MessageSourceFactory -
    Get MessageSource for error message.:
    com.pws.framework.exception.GeneralException: There was an unexpected error. Please
    contact your system administrator.
    at com.pws.framework.exception.GeneralException.create(GeneralException.java:111)
    at com.pws.ubiquity.pr.business.TransactionTypeFacade.addTransactionType(TransactionTypeFacade.java:588)
    at com.pws.ubiquity.pr.business.TransactionTypeFacade_ocr0a6_EOImpl.addTransactionType(TransactionTypeFacade_ocr0a6_EOImpl.java:271)
    at com.pws.ubiquity.pr.web.action.AddTransactionTypeAction.doExecute(AddTransactionTypeAction.java:120)
    at com.pws.ubiquity.common.web.action.SecureAction.perform(SecureAction.java:240)
    at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

  • Invalid column name in query string - using Format function

    In my post just before this one the problem was solved for writing a query string using a date range. The rest of the query string includes the same date field (Call_Date) but formatted as 'MMM-YY'. I get an invalid column name error when I add this field to the query string. Here is the rest of the query string:
    strSql = "SELECT Format(CALL_DATE,'mmm-yy'), " _
    & "HOME_REGION FROM CCC2.CASE_EPRP " _
    & "WHERE (HOME_REGION = 'NCR') AND " _
    "(CALL_DATE >= to_date( '1/1/2002', 'MM/DD/YYYY' )" _
    & "AND CALL_DATE <= to_date( '2/28/2003', 'MM/DD/YYYY' ))"
    In the Access Query tool I can include this field
    Format(CALL_DATE,'mmm-yy')
    and the query runs fine (I just need to make it dynamic using ADO). But in my ADO query string above, I get the invalid column name error. Is there a way I can include
    Format(CALL_DATE,'mmm-yy')
    in my ADO query string? I appologize for not being more familiar with Oracle Sql. Any help greatly appreciated.
    Thanks again,
    Rich

    Thank you very much for your reply. I think I'm getting closer to the solution. Just I got an error message
    "date format not recognized"
    when I add "to_char( call_date, 'mmm-yy' )" to the query string. I tried using all uppercase, but that did not make a difference. Do I need to use to_date inside the to_char maybe?
    to_char(to_date(call_date, 'mmm/yy'), 'mmm-yy')
    Thanks again for your help.
    Rich

  • Use of NOT IN leads to an invalid column name error

    The query works just fine when placed directly into sql plus
    The query works, called from a Java using an Oracle Statement, ONLY IF I remove the NOT.
    However, with NOT it chokes, and gives me this:
    selQ=select lenum, zeugn from stock_rpt where lenum NOT in ('X12345', 'X23456')
    Could Select or Read Selected data
    java.sql.SQLException: Invalid column name
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
    at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3319)
    at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1926)
    at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1515)
    at ecspack.StockRpt.selRecsByQ(StockRpt.java:172)
    at ecspack.StockRpt.selByDiff(StockRpt.java:261)
    at teste.main(teste.java:40)
    The column does have an index.
    The above is my simplified test query, I am using to narrow down the problem.
    SelQ is the value of the Select String.
    Really I want to do something like this:
    select x1, x2 from tableX where x1 NOT IN (select y1 from tableY)
    I know I can just compare records one at a time, but I would rather not, if there is a way to make NOT IN work.
    Thank you

    Hi Eileen Keeney ,
    may be you can use prepared statement but beware of sql injection
    selQ=select lenum, zeugn from stock_rpt where lenum NOT in ('X12345', 'X23456')
    Try :
    selQ=select lenum, zeugn from stock_rpt where lenum NOT in (?, ?)
    Then try running it with this fixed parameter binding:
    prest.setString(1, "X12345");
    prest.setString(2, "X23456");

  • Java.sql.SQLException: Invalid column index in database adapter

    I have a query that works fine if I run the sql in a JDeveloper SQL editor, but I get a "java.sql.SQLException: Invalid column index" error if I paste it in a database adapter. If I put this query in the adapter:
    select <column>
      from <table>
       where <column> in (select
        trim( substr (txt,
              instr (txt, ',', 1, level  ) + 1,
              instr (txt, ',', 1, level+1)
                 - instr (txt, ',', 1, level) -1 ) )
          as token
        from (select ','||#bindVariable||',' txt
                from dual)
      connect by level <=
         length(#bindVariable)-length(replace(#bindVariable,',',''))+1)I get the error. But if I just put the sub query in the adapter as:
    select
        trim( substr (txt,
              instr (txt, ',', 1, level  ) + 1,
              instr (txt, ',', 1, level+1)
                 - instr (txt, ',', 1, level) -1 ) )
          as token
        from (select ','||#bindVariable||',' txt
                from dual)
      connect by level <=
         length(#bindVariable)-length(replace(#bindVariable,',',''))+1the error goes away. Does anyone know what might be causing this?
    Thanks in advance

    Hi,
    Could you please make sure your binding style(Oracle Positional,Oracle named..etc) of the Seeded VO and Custom Vo are same.
    This is the option you will get when you are extending your vo. So make sure that both are same.
    You can refer the below link too
    VO extension leads to "Invalid column index" exception
    Thanks
    Bharat

  • Invalid column name error in jdbc please help!!!!!!!!! urgent!!!!!!!!!!!!!!!111

    when i run the following query i getbthe error invalid column name .My db oracle 8i,NT.
    rs8 = stmt2.executeQuery("select a.c_x12n_position_cd, a.c_x12n_sequence_cd, a.c_x12n_composite_id, " +
    "a.c_x12n_table_area_cd, a.c_x12n_requirement_cd, a.c_x12n_reference_designator, " +
                             "a.c_x12n_loop_level_nb, b.c_dg_type_code, b.c_dg_usage_cd, b.c_dg_max_occurrences_nb, " +
    "b.c_dg_min_occurrences_nb from T_x12n_supplement a, T_Data_Group_Format b, " +
    "T_Message_Node_Directory c " +
                             "where (a.c_dgc_ik = c.c_dgc_ik) " +
                             "and (a.c_dgc_ik = b.c_dgc_ik) " +
                             "and (a.c_dg_ik = c.c_dg_ik) " +
                             "and (a.c_dg_ik = b.c_dg_ik)");

    Run the query in SQL*Plus. It will give you more information about which column it doesn't like.

  • Invalid Column Index Error

    Hi all,
    I am trying to create a new report using
    1. Crystal Report XI
    2. Oracle 9i
    3. A stored Procedure
    4. JDBC connection.
    But i could not do it.
    Invalid Column index error is coming.
    Can anyone help.
    Thanks
    Saravanakumar.

    I know this is an old thread but I too am getting a column index error accessing an Oracle 10g database stored procedure using Crystal Reports XI, using the New Report wizard to select the stored procedure.  It prompts me for the sp parameters; I select "set to null" and click OK and get
    Failed to retrieve data from the database. Details:  SQL Exception: [SQL State:] null [Error message:] Invalid Column Index [Database vendor code 17003]
    I can run the procedure and get data just fine with no errors using PL/SQL.

  • How to use : bind character in DB adapter Select Query SOA11g. Getting Error code :17003 .java.sql.SQLException: Invalid column index error

    Hi All,
    The Actual query to perform is below.
    SELECT name,number from emp  WHERE CASE WHEN :1='T' AND term_date IS Not NULL THEN 1 WHEN :1='A' AND term_date IS NULL THEN 1 WHEN :1='ALL' THEN 1 ELSE  1 END = 1;
    I have tried in DB adapter like below as a parameter for :1 as #vInputParam
    SELECT name,number from emp  WHERE CASE WHEN #vInputParam='T' AND term_date IS Not NULL THEN 1 WHEN #vInputParam='A' AND term_date IS NULL THEN 1 WHEN #vInputParam='ALL' THEN 1 ELSE  1 END = 1;
    Getting Error code :17003 .java.sql.SQLException: Invalid column index error.
    Please suggest me on using ':' bind character in DB adapter Select Query SOA11g.
    Can someone help me on this please?
    Thanks,
    Hari

    Hi,
    Could you please make sure your binding style(Oracle Positional,Oracle named..etc) of the Seeded VO and Custom Vo are same.
    This is the option you will get when you are extending your vo. So make sure that both are same.
    You can refer the below link too
    VO extension leads to "Invalid column index" exception
    Thanks
    Bharat

  • Invalid column name error in JDBC adapter

    Hi all,
    My scenario is Proxy->XI->JDBC.
    I get the following error in receiver JDBC  adapter.
    Unable to execute statement for table or stored procedure. 'Account_Master' (Structure 'STATEMENT') due to com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 'A7'.
    There is no column by name A7 in the table nor there is a field by that name in the data type.
    Can anyone provide any help

    Hi Swatantra,
    compare your message-type with the database table!
    There must be difference!
    Regards Mario

  • Getting error in export button:Invalid Column Type

    Hi All,
    I have a export button on my page.and it was exporting the data before doing the VO Substitution.
    But i did the Vo substituon by modifying the standard Vo Query and after the Vo substitution its giveing me the error Invalid column type..
    Please help..
    Thanks
    bharat

    any ideas plz ..

  • After 8.8 Upgrade Invalid Column Name error on UDF in Sales Order

    I have upgraded a dtaabase from 2005A to 8.8 SP00 PL15.
    I encountered a UDF/UDT warning (Note 1360832) in the Pre-Upgrade CHeck but proceeded in any case.
    After the upgrade as soon as I enter the BP in a Sales Order, I get the following error.
    [Microsoft] [SQL Server Native Client 10.0] [SQL Server] [Invalid Column Name U_CampPB1.2)
    [Microsoft] [SQL Server Native Client 10.0] [SQL Server] Statement 'Withholding Tax'  (OWHT) could not be prepared.
    This UDF was one of many reported in the Upgrade Wizard Log File as having an incorrect Type.
    " Type is different; Should be A, Is M".
    There are hundreds of instances of this message in the log.
    I don't know whether the error is related to the Type is different warning.
    I don't get the error when I add an AR Invoice.
    In addition I cannot find any documentation on the different UDF Type codes.

    Hi,
    should you have any errors before or after upgrade, log a message to a support. That's the best solution.
    JimM

Maybe you are looking for