Problem Note 34541: You might encounter a mid-tier exception when attempting a product search in SAS® Markdown Optimization with an Oracle database
When attempting a product search in SAS Markdown Optimization with an Oracle database and a global setting value for MAX_FIND_PRODUCT_DETAILS greater than or equal to 1000, you might encounter a mid-tier exception that indicates too many elements in the SQL IN clause. In such a circumstance, the mid-tier server log will contain an exception similar to the following:
Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2216)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
at com.sas.solutions.di.server.db.PersistenceManager.loadValueObjects(PersistenceManager.java:603)
at com.sas.solutions.di.server.dm.ProductService.findProductDetails(ProductService.java:725)
Caused by: java.sql.SQLException: ORA-01795: maximum number of expressions in a
list is 1000
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:796)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1031)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:836)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1124)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2213)
Select the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SAS System | SAS Markdown Optimization | Microsoft® Windows® for x64 | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
Microsoft Windows Server 2003 Datacenter Edition | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
Microsoft Windows Server 2003 Enterprise Edition | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
Microsoft Windows Server 2003 Standard Edition | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
Microsoft Windows XP Professional | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
Windows Vista | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
64-bit Enabled AIX | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
Type: | Problem Note |
Priority: | high |
Date Modified: | 2009-02-16 13:20:36 |
Date Created: | 2009-01-19 14:18:10 |