SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 34541: You might encounter a mid-tier exception when attempting a product search in SAS® Markdown Optimization with an Oracle database

DetailsHotfixAboutRate It

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

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Markdown OptimizationMicrosoft® Windows® for x643.24.29.1 TS1M3 SP49.2 TS2M0
Microsoft Windows Server 2003 Datacenter Edition3.24.29.1 TS1M3 SP49.2 TS2M0
Microsoft Windows Server 2003 Enterprise Edition3.24.29.1 TS1M3 SP49.2 TS2M0
Microsoft Windows Server 2003 Standard Edition3.24.29.1 TS1M3 SP49.2 TS2M0
Microsoft Windows XP Professional3.24.29.1 TS1M3 SP49.2 TS2M0
Windows Vista3.24.29.1 TS1M3 SP49.2 TS2M0
64-bit Enabled AIX3.24.29.1 TS1M3 SP49.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.