6 Replies Latest reply on Jul 17, 2007 4:30 AM by johan.parent

    ERROR JDBCExceptionReporter : Table not found in statement

    javi0704

      Hi anyone,
      i am trying to deploy a simple processDefinition by programmatically. But i got a problem.

      My processDefinition looks like this.

      <?xml version="1.0" encoding="UTF-8"?><process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="DecisionProcess">

      <start-state name="start">

      </start-state>
      <task-node name="Request">

      </task-node>
      <task-node name="Checking">

      </task-node>
      <end-state name="End"/>
      </process-definition>

      And hier is my Java Code. package com.test;

      import org.jbpm.JbpmConfiguration;
      import org.jbpm.JbpmContext;
      import org.jbpm.graph.def.ProcessDefinition;

      public class DeployingTest {
      public static void main(String[] args) {

      JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
      ProcessDefinition prd = ProcessDefinition.parseXmlResource("DecisionProcess/processdefinition.xml");
      JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
      try{
      if(jbpmConfiguration!=null){
      jbpmContext.deployProcessDefinition(prd);
      System.out.println("!!!=== Is Deployed");
      }else{
      System.out.println("!!!=== Is not Deployed");
      }
      }catch (Exception e) {
      // TODO: handle exception
      System.err.println("Which error?: " +e);
      }finally{
      jbpmContext.close();
      }

      }
      }
      When i try this i got this Exceptions:

      12:35:39,828 [main] DEBUG DbPersistenceService : beginning hibernate transaction
      12:35:39,906 [main] WARN JDBCExceptionReporter : SQL Error: -22, SQLState: S0002
      12:35:39,906 [main] ERROR JDBCExceptionReporter : Table not found in statement [select top ? processdef0_.ID_ as ID1_4_, processdef0_.NAME_ as NAME3_4_, processdef0_.DESCRIPTION_ as DESCRIPT4_4_, processdef0_.VERSION_ as VERSION5_4_, processdef0_.ISTERMINATIONIMPLICIT_ as ISTERMIN6_4_, processdef0_.STARTSTATE_ as STARTSTATE7_4_ from JBPM_PROCESSDEFINITION processdef0_ where processdef0_.NAME_=? order by processdef0_.VERSION_ desc]
      org.hibernate.exception.SQLGrammarException: could not execute query


      I proved the table in the Database aun it exist already

      thanks in advance

        • 1. Re: ERROR JDBCExceptionReporter : Table not found in stateme
          javi0704

          Hi again,
          i inserted the following statement "JbpmConfiguration.createSchema()" after JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance(); in my code. I don't see now any kind of exception. So it seems to be ok. Bet
          in the HSQL_Database is the current processDefinition not there. Please help me.

          thx again

          • 2. Re: ERROR JDBCExceptionReporter : Table not found in stateme
            javi0704

            Can nobody help me with this issue? Please give me any kind of idea.

            Thanks

            • 3. Re: ERROR JDBCExceptionReporter : Table not found in stateme
              cristian_e

              Sounds like a confusion about where is the jbpm database you are working with. The first exception about the table not found clearly is saying that the database you are pointing to didn't have the jbpm schema created in it.

              I think you have to start over and check this steps:

              - Select the database/schema where you are going to put the jbpm tables into.

              - Run the corresponding database creation script that comes within the jbpm zip. There are multiple versions for the main database engines.

              - Modify the hibernate configuration file of your jbpm installation and tell it to connect to the database you previously selected.

              I guess now you are saving your process definition to any other db. You maybe even added jbpm tables to other db without noticing it.

              Hope this helps.

              • 4. Re: ERROR JDBCExceptionReporter : Table not found in stateme
                javi0704

                Many thanks Cristian, it is a good proposition. I will try your approach and tell you what i reach.

                Thank you for your response

                • 5. Re: ERROR JDBCExceptionReporter : Table not found in stateme
                  ppetrou

                  Hi, I had exactly the same problem,

                  In my situation the problem was in the hibernate.cfg.xml.

                  Hypersonic can work in multiple modes. TCP Server, Standalone, InMemory.
                  As far as I know the InMemory mode stores all your data in memory and
                  flushes them to the disk when you shutdown the server. (not 100% sure)

                  Not the best option for production!!

                  hibernate.cfg.xml defaults to the InMemory mode so even the fact that
                  you have the tables in the jboss data directory they are not in memory...

                  Try the following configuration. Mainly you just need to comment out the
                  jbpm datasource and comment in the inmemory one.



                  
                  <?xml version='1.0' encoding='utf-8'?>
                  
                  <!DOCTYPE hibernate-configuration PUBLIC
                   "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                   "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
                  
                  <hibernate-configuration>
                   <session-factory>
                  
                   <!-- hibernate dialect -->
                   <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
                  
                   <!-- JDBC connection properties (begin)
                   <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
                   <property name="hibernate.connection.url">jdbc:hsqldb:mem:jbpm</property>
                   <property name="hibernate.connection.username">sa</property>
                   <property name="hibernate.connection.password"></property>
                   JDBC connection properties (end) -->
                  
                   <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
                  
                   <!-- DataSource properties (begin) === ==== DataSource properties (end) -->
                   <property name="hibernate.connection.datasource">java:/JbpmDS</property>
                  
                  
                   <!-- JTA transaction properties (begin) ===
                   <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
                   <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
                   ==== JTA transaction properties (end) -->
                  
                   <!-- CMT transaction properties (begin) ===
                   <property name="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</property>
                   <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
                   ==== CMT transaction properties (end) -->
                  
                   <!-- logging properties (begin) ===
                   <property name="hibernate.show_sql">true</property>
                   <property name="hibernate.format_sql">true</property>
                   <property name="hibernate.use_sql_comments">true</property>
                   ==== logging properties (end) -->
                  
                   <!-- ############################################ -->
                   <!-- # mapping files with external dependencies # -->
                   <!-- ############################################ -->
                  
                   <!-- following mapping file has a dependendy on -->
                   <!-- 'bsh-{version}.jar'. -->
                   <!-- uncomment this if you don't have bsh on your -->
                   <!-- classpath. you won't be able to use the -->
                   <!-- script element in process definition files -->
                   <mapping resource="org/jbpm/graph/action/Script.hbm.xml"/>
                  
                   <!-- following mapping files have a dependendy on -->
                   <!-- 'jbpm-identity.jar', mapping files -->
                   <!-- of the pluggable jbpm identity component. -->
                   <!-- Uncomment the following 3 lines if you -->
                   <!-- want to use the jBPM identity mgmgt -->
                   <!-- component. -->
                   <!-- identity mappings (begin) -->
                   <mapping resource="org/jbpm/identity/User.hbm.xml"/>
                   <mapping resource="org/jbpm/identity/Group.hbm.xml"/>
                   <mapping resource="org/jbpm/identity/Membership.hbm.xml"/>
                   <!-- identity mappings (end) -->
                  
                   <!-- following mapping files have a dependendy on -->
                   <!-- the JCR API -->
                   <!-- jcr mappings (begin) ===
                   <mapping resource="org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml"/>
                   ==== jcr mappings (end) -->
                  
                  
                   <!-- ###################### -->
                   <!-- # jbpm mapping files # -->
                   <!-- ###################### -->
                  
                   <!-- hql queries and type defs -->
                   <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />
                  
                   <!-- graph.action mapping files -->
                   <mapping resource="org/jbpm/graph/action/MailAction.hbm.xml"/>
                  
                   <!-- graph.def mapping files -->
                   <mapping resource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/def/Node.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/def/Transition.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/def/Event.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/def/Action.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/def/SuperState.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/>
                   <mapping resource="org/jbpm/instantiation/Delegation.hbm.xml"/>
                  
                   <!-- graph.node mapping files -->
                   <mapping resource="org/jbpm/graph/node/StartState.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/node/EndState.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/node/ProcessState.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/node/Decision.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/node/Fork.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/node/Join.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/node/MailNode.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/node/State.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/node/TaskNode.hbm.xml"/>
                  
                   <!-- context.def mapping files -->
                   <mapping resource="org/jbpm/context/def/ContextDefinition.hbm.xml"/>
                   <mapping resource="org/jbpm/context/def/VariableAccess.hbm.xml"/>
                  
                   <!-- taskmgmt.def mapping files -->
                   <mapping resource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/def/Task.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/def/TaskController.hbm.xml"/>
                  
                   <!-- module.def mapping files -->
                   <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>
                  
                   <!-- bytes mapping files -->
                   <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/>
                  
                   <!-- file.def mapping files -->
                   <mapping resource="org/jbpm/file/def/FileDefinition.hbm.xml"/>
                  
                   <!-- scheduler.def mapping files -->
                   <mapping resource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/>
                   <mapping resource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/>
                  
                   <!-- graph.exe mapping files -->
                   <mapping resource="org/jbpm/graph/exe/Comment.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/exe/ProcessInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/exe/Token.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/exe/RuntimeAction.hbm.xml"/>
                  
                   <!-- module.exe mapping files -->
                   <mapping resource="org/jbpm/module/exe/ModuleInstance.hbm.xml"/>
                  
                   <!-- context.exe mapping files -->
                   <mapping resource="org/jbpm/context/exe/ContextInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/>
                   <mapping resource="org/jbpm/context/exe/VariableInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml"/>
                  
                   <!-- job mapping files -->
                   <mapping resource="org/jbpm/job/Job.hbm.xml"/>
                   <mapping resource="org/jbpm/job/Timer.hbm.xml"/>
                   <mapping resource="org/jbpm/job/ExecuteNodeJob.hbm.xml"/>
                   <mapping resource="org/jbpm/job/ExecuteActionJob.hbm.xml"/>
                  
                   <!-- taskmgmt.exe mapping files -->
                   <mapping resource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml"/>
                  
                   <!-- logging mapping files -->
                   <mapping resource="org/jbpm/logging/log/ProcessLog.hbm.xml"/>
                   <mapping resource="org/jbpm/logging/log/MessageLog.hbm.xml"/>
                   <mapping resource="org/jbpm/logging/log/CompositeLog.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/log/ActionLog.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/log/NodeLog.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/log/SignalLog.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/>
                   <mapping resource="org/jbpm/graph/log/TransitionLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/VariableLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/log/TaskLog.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml"/>
                   <mapping resource="org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml"/>
                  
                   </session-factory>
                  </hibernate-configuration>
                  
                  
                  


                  • 6. Re: ERROR JDBCExceptionReporter : Table not found in stateme
                    johan.parent

                     

                    Hypersonic can work in multiple modes. TCP Server, Standalone, InMemory.
                    As far as I know the InMemory mode stores all your data in memory and
                    flushes them to the disk when you shutdown the server. (not 100% sure)


                    The in-memory-db is a volatile db. Once closed it disappears. Perfect for unit tests so you can start with an untainted db for each test. But nothing ever gets flushed to disk as far as I know.

                    Regards,

                    Johan