Uploaded image for project: 'Red Hat Process Automation Manager'
  1. Red Hat Process Automation Manager
  2. RHPAM-4013

'Cannot find the object "TimerMappingInfo"' thrown on Microsoft SQL

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.13.0.GA
    • 7.13.0.GA
    • jBPM Core
    • None
    • 1
    • 2021 Week 43-45 (from Oct 25)

      Following exception is thrown when running timers on Microsoft SQL:

      Error executing DDL via JDBC Statement
      org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL via JDBC Statement
      	at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67)
      	at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlString(SchemaCreatorImpl.java:438)
      	at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromScript(SchemaCreatorImpl.java:191)
      	at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:161)
      	at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:134)
      	Truncated. see log file for complete stacktrace
      Caused By: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot find the object "TimerMappingInfo" because it does not exist or you do not have permissions.
      	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1632)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:872)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:767)
      	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7418)
      	Truncated. see log file for complete stacktrace
      

      Another exception point to the actual root cause:

      Error executing DDL via JDBC Statement
      .....
      Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 'numeric'.
      	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1632)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:872)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:767)
      	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7418)
      	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3274)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:247)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:222)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(SQLServerStatement.java:743)
      	at weblogic.jdbc.wrapper.Statement.execute(Statement.java:478)
      	at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54)
      	... 52 more> 
      

      The issue is a typo in the SQL script:

          create table TimerMappingInfo (
          	id bigint numeric(19,0) identity not null,  // -> bigint numeric(19,0)
          	externalTimerId varchar(255), 
          	kieSessionId numeric(19,0) not null, 
          	timerId numeric(19,0) not null, 
          	uuid varchar(255) not null, 
          	primary key (id)
          );
      

              mmacik@redhat.com Marian Macik
              mmacik@redhat.com Marian Macik
              Marian Macik Marian Macik
              Marian Macik Marian Macik
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: