Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-14293

MSSQL repo: The number of rows provided for a TOP or FETCH clauses row count parameter must be an integer.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 7.0.0
    • Fix Version/s: 7.0.0
    • Labels:
    • Environment:
      Windows 2016, MSSQL generic table, JDK 11
    • Target Version/s:
    • Verified Version/s:
    • Story Points:
      2
    • Sprint:
      2020.01 - IDM

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              jason.vincent jason vincent
              Reporter:
              Ladislav.Folta Ladislav Folta
              QA Assignee:
              Alexander Dracka
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: