-
Type:
Bug
-
Status: Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 7.0.0
-
Fix Version/s: 7.0.0
-
Component/s: Module - Repository JDBC
-
Labels:
-
Environment:Windows 2016, MSSQL generic table, JDK 11
As of Jason's fix for OPENIDM-14067 the IDM with MSSQL as repo throws DB error on startup rendering the IDM unusable.
[27] Jan 20, 2020 11:48:36.066 AM com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement buildExecSQLParams FINE: SQLServerPreparedStatement:5: calling sp_executesql: SQL:SELECT obj.fullobject AS fullobject, obj.objectid AS objectid, obj.rev AS rev, obj.id AS id, obj.id AS s_default FROM openidm.configobjects obj INNER JOIN openidm.objecttypes objobjecttypes ON ((obj.objecttypes_id = objobjecttypes.id) AND objobjecttypes.objecttype = @P0) WHERE 1 = 1 ORDER BY s_default ASC OFFSET @P1 ROWS FETCH NEXT @P2 ROWS ONLY [27] Jan 20, 2020 11:48:36.099 AM com.microsoft.sqlserver.jdbc.SQLServerException logException FINE: *** SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: The number of rows provided for a TOP or FETCH clauses row count parameter must be an integer. Msg 1060, Level 15, State 1, The number of rows provided for a TOP or FETCH clauses row count parameter must be an integer. [27] Jan 20, 2020 11:48:36.100 AM org.forgerock.openidm.repo.jdbc.impl.query.TableQueries query FINE: DB reported failure executing query org.forgerock.openidm.repo.jdbc.impl.query.TracedPreparedStatement@5b95470b with params: {_pageSize=2147483647, _queryFilter=true, _pagedResultsCookie={}, _pagedResultsOffset=0, _resource=config, _queryId=null, _sortKeys=[]} error code: 1060 sqlstate: S0001 message: The number of rows provided for a TOP or FETCH clauses row count parameter must be an integer. com.microsoft.sqlserver.jdbc.SQLServerException: The number of rows provided for a TOP or FETCH clauses row count parameter must be an integer. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262) at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1624) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:594) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:524) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
More info in attached log.
To reproduce: Setup IDM with MSSQL as repo and start it.