| Summary: | @StoredProcedureParameter call not constructed properly | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Missing name <jnandal> |
| Component: | Eclipselink | Assignee: | Nobody - feel free to take it <nobody> |
| Status: | NEW --- | QA Contact: | |
| Severity: | normal | ||
| Priority: | P2 | CC: | jnandal, tom.ware |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
Setting target and priority. See the following page for the meanings of these fields: http://wiki.eclipse.org/EclipseLink/Development/Bugs/Guidelines Community: Please vote for this bug if it is important to you. Votes are one of the main criteria we use to determine which bugs to fix next. The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink |
Build Identifier: 20110916-0149 The call command is not constructed properly. It should be CALL gmcommon.gmspcup ('JMILNES', 'TEST', ' ') Not CALL gmcommon.gmspcup (1 = 'JMILNES', 2 = 'TEST', 3 = ' ') Reproducible: Always Steps to Reproduce: 1. Sample of Stored Procedure @NamedStoredProcedureQuery(name="ChangePassword", procedureName = "gmcommon.gmspcup", returnsResultSet = false, parameters = { @StoredProcedureParameter(queryParameter = "1", direction=Direction.IN), @StoredProcedureParameter(queryParameter = "2", direction=Direction.IN), @StoredProcedureParameter(queryParameter = "3", direction=Direction.IN_OUT) } ) 2. Sample of code: Query q = em.createNamedQuery("ChangePassword"); q.setParameter(1, "JMILNES"); q.setParameter(2, "TEST"); q.setParameter(3, errorMessage); q.executeUpdate(); 3. Sample of error message: [EL Config]: 2012-02-06 10:46:49.302--ServerSession(17758476)--Connection(13419912)--Thread(Thread[main,5,main])--connecting(DatabaseLogin( platform=>DB2MainframePlatform user name=> "xxxxxx" datasource URL=> "jdbc:as400:xxxx;prompt=false" )) [EL Config]: 2012-02-06 10:46:49.622--ServerSession(17758476)--Connection(29751107)--Thread(Thread[main,5,main])--Connected: jdbc:as400:berkdev;prompt=false User: xxxxx Database: DB2 UDB for AS/400 Version: 06.01.0000 V6R1m0 Driver: AS/400 Toolbox for Java JDBC Driver Version: 9.4 [EL Finest]: 2012-02-06 10:46:49.622--ServerSession(17758476)--Connection(29751107)--Thread(Thread[main,5,main])--Connection acquired from connection pool [default]. [EL Finest]: 2012-02-06 10:46:49.622--ServerSession(17758476)--Connection(29751107)--Thread(Thread[main,5,main])--Connection released to connection pool [default]. [EL Info]: 2012-02-06 10:46:49.683--ServerSession(17758476)--Thread(Thread[main,5,main])--file:/C:/Users/jmilnes/upload/L/build/classes/_default login successful [EL Finer]: 2012-02-06 10:46:49.693--ServerSession(17758476)--Thread(Thread[main,5,main])--Canonical Metamodel class [com.berkadia.model.User_] not found during initialization. [EL Finest]: 2012-02-06 10:46:49.693--ServerSession(17758476)--Thread(Thread[main,5,main])--End deploying Persistence Unit default; session file:/C:/Users/jmilnes/upload/L/build/classes/_default; state Deployed; factoryCount 1 [EL Finer]: 2012-02-06 10:46:49.713--ServerSession(17758476)--Thread(Thread[main,5,main])--client acquired: 23275591 [EL Finer]: 2012-02-06 10:46:49.723--ClientSession(23275591)--Thread(Thread[main,5,main])--acquire unit of work: 30604342 [EL Finer]: 2012-02-06 10:46:49.723--UnitOfWork(30604342)--Thread(Thread[main,5,main])--begin unit of work flush [EL Finer]: 2012-02-06 10:46:49.723--UnitOfWork(30604342)--Thread(Thread[main,5,main])--end unit of work flush [EL Finest]: 2012-02-06 10:46:49.723--UnitOfWork(30604342)--Thread(Thread[main,5,main])--Execute query DataModifyQuery() [EL Finest]: 2012-02-06 10:46:49.733--ServerSession(17758476)--Connection(29751107)--Thread(Thread[main,5,main])--Connection acquired from connection pool [default]. [EL Finer]: 2012-02-06 10:46:49.733--ClientSession(23275591)--Connection(29751107)--Thread(Thread[main,5,main])--begin transaction [EL Fine]: 2012-02-06 10:46:49.753--ClientSession(23275591)--Connection(29751107)--Thread(Thread[main,5,main])--CALL gmcommon.gmspcup(1 = JMILNES, 2 = TEST, 3 = ?) bind => [ => 3] [EL Fine]: 2012-02-06 10:46:50.143--ClientSession(23275591)--Thread(Thread[main,5,main])--SELECT COUNT(*) from SYSIBM.SYSDUMMY1 WHERE 1 = 0 [EL Warning]: 2012-02-06 10:46:50.323--UnitOfWork(30604342)--Thread(Thread[main,5,main])--Local Exception Stack: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: [SQL0104] Token = was not valid. Valid tokens: ) ,. Error Code: -104 Call: CALL gmcommon.gmspcup(1 = 'JMILNES', 2 = 'TEST', 3 = ?) bind => [ => 3] Query: DataModifyQuery() at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:644) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535) at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717) at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:253) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:236) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:216) at org.eclipse.persistence.queries.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:85) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844) at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:743) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1516) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1498) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1463) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeUpdate(EJBQueryImpl.java:540) at com.berkadia.controller.Test.main(Test.java:32) Caused by: java.sql.SQLException: [SQL0104] Token = was not valid. Valid tokens: ) ,. at com.ibm.as400.access.JDError.throwSQLException(JDError.java:703) at com.ibm.as400.access.JDError.throwSQLException(JDError.java:669) at com.ibm.as400.access.AS400JDBCStatement.commonPrepare(AS400JDBCStatement.java:1677) at com.ibm.as400.access.AS400JDBCPreparedStatement.<init>(AS400JDBCPreparedStatement.java:253) at com.ibm.as400.access.AS400JDBCCallableStatement.<init>(AS400JDBCCallableStatement.java:120) at com.ibm.as400.access.AS400JDBCConnection.prepareCall(AS400JDBCConnection.java:1850) at com.ibm.as400.access.AS400JDBCConnection.prepareCall(AS400JDBCConnection.java:1751) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1464) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1423) at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:697) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:585) ... 16 more Exception in thread "main" Local Exception Stack: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: [SQL0104] Token = was not valid. Valid tokens: ) ,. Error Code: -104 Call: CALL gmcommon.gmspcup(1 = 'JMILNES', 2 = 'TEST', 3 = ?) bind => [ => 3] Query: DataModifyQuery() at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:644) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535) at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717) at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:253) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:236) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:216) at org.eclipse.persistence.queries.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:85) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844) at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:743) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1516) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1498) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1463) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeUpdate(EJBQueryImpl.java:540) at com.berkadia.controller.Test.main(Test.java:32) Caused by: java.sql.SQLException: [SQL0104] Token = was not valid. Valid tokens: ) ,. at com.ibm.as400.access.JDError.throwSQLException(JDError.java:703) at com.ibm.as400.access.JDError.throwSQLException(JDError.java:669) at com.ibm.as400.access.AS400JDBCStatement.commonPrepare(AS400JDBCStatement.java:1677) at com.ibm.as400.access.AS400JDBCPreparedStatement.<init>(AS400JDBCPreparedStatement.java:253) at com.ibm.as400.access.AS400JDBCCallableStatement.<init>(AS400JDBCCallableStatement.java:120) at com.ibm.as400.access.AS400JDBCConnection.prepareCall(AS400JDBCConnection.java:1850) at com.ibm.as400.access.AS400JDBCConnection.prepareCall(AS400JDBCConnection.java:1751) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1464) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1423) at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:697) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:585) ... 16 more