Troubleshooting
Problem
When "Force Case Insensitive Search" (FCIS) is enabled, Content Engine (CE) will run into errors when accessing long, string properties.
Symptom
The following exception will be generated when using/searching long, string properties: com.microsoft.sqlserver.jdbc.SQLServerException: Argument data type ntext is invalid for argument 1 of lower function.
Here is a sample stack trace generated when logging into IER 5.1.2:
2014-08-07T14:34:38.336 6B120D78 ENG FNRCD0009E - ERROR method name: throwEngineException principal name: CEAdmin Global Transaction: false User Transaction: false Exception Info: The database access failed with the following error: ErrorCode 8,116, Message 'Argument data type ntext is invalid for argument 1 of lower function.' ObjectStore: "CEOS1", SQL: ...
at com.filenet.engine.dbpersist.DBMSSQLContext.throwEngineException(DBMSSQLContext.java:339)
at com.filenet.engine.dbpersist.DBExecutionElement.execute(DBExecutionElement.java:296)
at com.filenet.engine.dbpersist.DBExecutionContext.getNextResult(DBExecutionContext.java:106)
at com.filenet.engine.dbpersist.DBStatementBase.execute(DBStatementBase.java:273)
at com.filenet.engine.retrieve.AdHocClassRetriever.executeSQLStatement(AdHocClassRetriever.java:3369)
at com.filenet.engine.retrieve.AdHocClassRetriever.getSearchResponse(AdHocClassRetriever.java:1358)
at com.filenet.engine.retrieve.AdHocClassRetriever.doSearchImpl(AdHocClassRetriever.java:1318)
at com.filenet.engine.retrieve.AdHocClassRetriever.doSearchPage(AdHocClassRetriever.java:1171)
at com.filenet.engine.retrieve.AdHocClassRetriever.doSearch(AdHocClassRetriever.java:1078)
at com.filenet.engine.retrieve.AdHocClassRetriever.executeSearch(AdHocClassRetriever.java:487)
at com.filenet.engine.jca.impl.RequestBrokerImpl.executeSearch(RequestBrokerImpl.java:926)
at com.filenet.engine.jca.impl.RequestBrokerImpl.executeSearch(RequestBrokerImpl.java:849)
at com.filenet.engine.ejb.EngineCoreBean._executeSearch(EngineCoreBean.java:318)
at com.filenet.engine.ejb.EngineCoreBean.executeSearch(EngineCoreBean.java:286)
at com.filenet.engine.ejb.EJSLocalStatelessEngineCore_22877cb1.executeSearch(Unknown Source)
at com.filenet.engine.ejb.EngineBean.executeSearch(EngineBean.java:532)
at com.filenet.apiimpl.transport.ejbstubs.EJSRemoteStatelessEngine_2e64c374.executeSearch(Unknown Source)
at com.filenet.apiimpl.transport.ejbstubs._EJSRemoteStatelessEngine_2e64c374_Tie.executeSearch__com_filenet_apiimpl_transport_SearchRequest__com_filenet_apiimpl_transport_ClientCallContext(_EJSRemoteStatelessEngine_2e64c374_Tie.java:266)
at com.filenet.apiimpl.transport.ejbstubs._EJSRemoteStatelessEngine_2e64c374_Tie._invoke(_EJSRemoteStatelessEngine_2e64c374_Tie.java:118)
at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:669)
at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:523)
at com.ibm.rmi.iiop.ORB.process(ORB.java:523)
at com.ibm.CORBA.iiop.ORB.process(ORB.java:1575)
at com.ibm.rmi.iiop.Connection.doRequestWork(Connection.java:2992)
at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2875)
at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:64)
at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:118)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Argument data type ntext is invalid for argument 1 of lower function.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:390)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:340)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:322)
at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecute(WSJdbcPreparedStatement.java:956)
at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.execute(WSJdbcPreparedStatement.java:623)
at com.filenet.engine.dbpersist.DBExecutionElement.execute(DBExecutionElement.java:240)
... 26 more
Cause
The SQL function LOWER() cannot be used in conjunction with a case-insensitive database collation (e.g. SQL_Latin1_General_CP1_CI_AS).
Diagnosing The Problem
1. Check p8_server_error.log for error stack trace.
2. Determine if the objectstore's database is using a case-insensitive collation
3. Determine whether FCIS is enabled
Resolving The Problem
Disable FCIS. FCIS is not necessary when the database is using a case-insensitive collation.
To disable FCIS:
1. Access the Query tab in the administration console:
- In the domain navigation pane, click the object store.
- In the details pane, click the Query tab.
2. Select the Force Case Insensitive Search check box.
3. Save your changes.
Was this topic helpful?
Document Information
More support for:
FileNet P8 Platform
Software version:
5.2, 5.1, 5.0, 4.5
Operating system(s):
Windows, AIX, HP-UX, Linux, Solaris
Document number:
247827
Modified date:
17 June 2018
UID
swg21681841