Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: 5.3
-
Fix Version/s: 5.11
-
Component/s: Engine
-
Labels:None
-
Environment:HideMSSQL 2005
java version '1.6.0_17'
db driver:
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.2.4</version>
</dependency>ShowMSSQL 2005 java version '1.6.0_17' db driver: <dependency> <groupId>net.sourceforge.jtds</groupId> <artifactId>jtds</artifactId> <version>1.2.4</version> </dependency>
-
Number of attachments :
Description
While move persistence layer to mssql i'm getting stacktrace:
17:13:16.421 [main] DEBUG java.sql.Statement - ==> Executing: create table ACT_GE_PROPERTY ( NAME_ nvarchar(64), VALUE_ nvarchar(300), REV_ int, primary key (NAME_) ) 2011-03-28 17:13:16 org.activiti.engine.impl.db.DbSqlSession executeSchemaResource INFO: performing create on engine with resource org/activiti/db/create/activiti.mssql.create.engine.sql 17:13:16.437 [main] DEBUG java.sql.Statement - ==> Executing: insert into ACT_GE_PROPERTY values ('schema.version', '5.3', 1) 17:13:16.453 [main] DEBUG java.sql.Statement - ==> Executing: insert into ACT_GE_PROPERTY values ('schema.history', 'create(5.3)', 1) 17:13:16.453 [main] DEBUG java.sql.Statement - ==> Executing: insert into ACT_GE_PROPERTY values ('next.dbid', '1', 1) 17:13:16.453 [main] DEBUG java.sql.Statement - ==> Executing: create table ACT_GE_BYTEARRAY ( ID_ nvarchar(64), REV_ int, NAME_ nvarchar(255), DEPLOYMENT_ID_ nvarchar(64), BYTES_ image, primary key (ID_) ) 17:13:16.468 [main] DEBUG java.sql.Statement - ==> Executing: create table ACT_RE_DEPLOYMENT ( ID_ nvarchar(64), NAME_ nvarchar(255), DEPLOY_TIME_ datetime, primary key (ID_) ) 17:13:16.468 [main] DEBUG java.sql.Statement - ==> Executing: create table ACT_RU_EXECUTION ( ID_ nvarchar(64), REV_ int, PROC_INST_ID_ nvarchar(64), BUSINESS_KEY_ nvarchar(255), PARENT_ID_ nvarchar(64), PROC_DEF_ID_ nvarchar(64), SUPER_EXEC_ nvarchar(64), ACT_ID_ nvarchar(255), IS_ACTIVE_ tinyint, IS_CONCURRENT_ tinyint, IS_SCOPE_ tinyint, primary key (ID_) ) 17:13:16.531 [main] DEBUG java.sql.Statement - ==> Executing: create table ACT_RU_JOB ( ID_ nvarchar(64) NOT NULL, REV_ int, TYPE_ nvarchar(255) NOT NULL, LOCK_EXP_TIME_ datetime, LOCK_OWNER_ nvarchar(255), EXCLUSIVE_ bit, EXECUTION_ID_ nvarchar(64), PROCESS_INSTANCE_ID_ nvarchar(64), RETRIES_ int, EXCEPTION_STACK_ID_ nvarchar(64), EXCEPTION_MSG_ nvarchar(255), DUEDATE_ datetime NULL, REPEAT_ nvarchar(255), HANDLER_TYPE_ nvarchar(255), HANDLER_CFG_ nvarchar(255), primary key (ID_) ) 17:13:16.531 [main] DEBUG java.sql.Statement - ==> Executing: create table ACT_RE_PROCDEF ( ID_ nvarchar(64), CATEGORY_ nvarchar(255), NAME_ nvarchar(255), KEY_ nvarchar(255), VERSION_ int, DEPLOYMENT_ID_ nvarchar(64), RESOURCE_NAME_ nvarchar(255), DGRM_RESOURCE_NAME_ nvarchar(255), HAS_START_FORM_KEY_ tinyint, primary key (ID_) ) 17:13:16.578 [main] DEBUG java.sql.Statement - ==> Executing: create table ACT_RU_TASK ( ID_ nvarchar(64), REV_ int, EXECUTION_ID_ nvarchar(64), PROC_INST_ID_ nvarchar(64), PROC_DEF_ID_ nvarchar(64), NAME_ nvarchar(255), DESCRIPTION_ nvarchar(255), TASK_DEF_KEY_ nvarchar(255), ASSIGNEE_ nvarchar(64), PRIORITY_ int, CREATE_TIME_ datetime, primary key (ID_) ) 17:13:16.578 [main] DEBUG java.sql.Statement - ==> Executing: create table ACT_RU_IDENTITYLINK ( ID_ nvarchar(64), REV_ int, GROUP_ID_ nvarchar(64), TYPE_ nvarchar(255), USER_ID_ nvarchar(64), TASK_ID_ nvarchar(64), primary key (ID_) ) 17:13:16.593 [main] DEBUG java.sql.Statement - ==> Executing: create table ACT_RU_VARIABLE ( ID_ nvarchar(64) not null, REV_ int, TYPE_ nvarchar(255) not null, NAME_ nvarchar(255) not null, EXECUTION_ID_ nvarchar(64), PROC_INST_ID_ nvarchar(64), TASK_ID_ nvarchar(64), BYTEARRAY_ID_ nvarchar(64), DOUBLE_ double precision, LONG_ numeric(19,0), TEXT_ nvarchar(255), TEXT2_ nvarchar(255), primary key (ID_) ) 17:13:16.593 [main] DEBUG java.sql.Statement - ==> Executing: create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_) 17:13:16.593 [main] DEBUG java.sql.Statement - ==> Executing: create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_) 17:13:16.593 [main] DEBUG java.sql.Statement - ==> Executing: create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_) 17:13:16.593 [main] DEBUG java.sql.Statement - ==> Executing: create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_) 2011-03-28 17:13:16 org.activiti.engine.impl.db.DbSqlSession executeSchemaResource SEVERE: problem during schema create, statement 'create unique index ACT_UNIQ_RU_BUS_KEY on ACT_RU_EXECUTION (PROC_DEF_ID_, BUSINESS_KEY_) where BUSINESS_KEY_ is not null java.sql.SQLException: Incorrect syntax near the keyword 'where'. at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368) at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820) at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258) at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:632) at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584) at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546) at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:723) at net.sourceforge.jtds.jdbc.JtdsStatement.execute(JtdsStatement.java:1160) at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264) at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.ibatis.logging.jdbc.StatementLogger.invoke(StatementLogger.java:41) at $Proxy21.execute(Unknown Source) at org.activiti.engine.impl.db.DbSqlSession.executeSchemaResource(DbSqlSession.java:769) at org.activiti.engine.impl.db.DbSqlSession.executeSchemaResource(DbSqlSession.jav17:13:16.640 [main] DEBUG java.sql.Statement - ==> Executing: create unique index ACT_UNIQ_RU_BUS_KEY on ACT_RU_EXECUTION (PROC_DEF_ID_, BUSINESS_KEY_) where BUSINESS_KEY_ is not null a:722) at org.activiti.engine.impl.db.DbSqlSession.executeMandatorySchemaResource(DbSqlSession.java:589) at org.activiti.engine.impl.db.DbSqlSession.dbSchemaCreateEngine(DbSqlSession.java:556) at org.activiti.engine.impl.db.DbSqlSession.dbSchemaUpdate(DbSqlSession.java:622) at org.activiti.engine.impl.db.DbSqlSession.performSchemaOperationsProcessEngineBuild(DbSqlSession.java:854) at org.activiti.engine.impl.SchemaOperationsProcessEngineBuild.execute(SchemaOperationsProcessEngineBuild.java:25) at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24) at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42) at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40) at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33) at org.activiti.engine.impl.ProcessEngineImpl.<init>(ProcessEngineImpl.java:77) at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:233) at org.activiti.spring.SpringProcessEngineConfiguration.buildProcessEngine(SpringProcessEngineConfiguration.java:61) at org.activiti.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:56) at org.activiti.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:32) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102) at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1414) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:245) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:349) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:973) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:879) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84) at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1) at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:280) at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:304) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:220) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:301) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:303) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180) at org.junit.runner.JUnitCore.run(JUnitCore.java:157) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:97) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:196) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115) 17:13:16.765 [main] ERROR o.a.engine.impl.db.DbSqlSession - problem during schema create, statement 'create unique index ACT_UNIQ_RU_BUS_KEY on ACT_RU_EXECUTION (PROC_DEF_ID_, BUSINESS_KEY_) where BUSINESS_KEY_ is not null java.sql.SQLException: Incorrect syntax near the keyword 'where'. at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:632) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:723) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsStatement.execute(JtdsStatement.java:1160) ~[jtds-1.2.4.jar:1.2.4] at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264) ~[commons-dbcp-1.4.jar:1.4] at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_17] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_17] at org.apache.ibatis.logging.jdbc.StatementLogger.invoke(StatementLogger.java:41) ~[mybatis-3.0.1.jar:na] at $Proxy21.execute(Unknown Source) ~[na:na] at org.activiti.engine.impl.db.DbSqlSession.executeSchemaResource(DbSqlSession.java:769) [activiti-engine-5.3.jar:5.3] at org.activiti.engine.impl.db.DbSqlSession.executeSchemaResource(DbSqlSession.java:722) [activiti-engine-5.3.jar:5.3] at org.activiti.engine.impl.db.DbSqlSession.executeMandatorySchemaResource(DbSqlSession.java:589) [activiti-engine-5.3.jar:5.3] at org.activiti.engine.impl.db.DbSqlSession.dbSchemaCreateEngine(DbSqlSession.java:556) [activiti-engine-5.3.jar:5.3] at org.activiti.engine.impl.db.DbSqlSession.dbSchemaUpdate(DbSqlSession.java:622) [activiti-engine-5.3.jar:5.3] at org.activiti.engine.impl.db.DbSqlSession.performSchemaOperationsProcessEngineBuild(DbSqlSession.java:854) [activiti-engine-5.3.jar:5.3] at org.activiti.engine.impl.SchemaOperationsProcessEngineBuild.execute(SchemaOperationsProcessEngineBuild.java:25) [activiti-engine-5.3.jar:5.3] at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24) [activiti-engine-5.3.jar:5.3] at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42) [activiti-engine-5.3.jar:5.3] at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42) [activiti-spring-5.3.jar:na] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) [spring-tx-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40) [activiti-spring-5.3.jar:na] at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33) [activiti-engine-5.3.jar:5.3] at org.activiti.engine.impl.ProcessEngineImpl.<init>(ProcessEngineImpl.java:77) [activiti-engine-5.3.jar:5.3] at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:233) [activiti-engine-5.3.jar:5.3] at org.activiti.spring.SpringProcessEngineConfiguration.buildProcessEngine(SpringProcessEngineConfiguration.java:61) [activiti-spring-5.3.jar:na] at org.activiti.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:56) [activiti-spring-5.3.jar:na] at org.activiti.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:32) [activiti-spring-5.3.jar:na] at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1414) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:245) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:349) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:973) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:879) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574) [spring-beans-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) [spring-context-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) [spring-context-3.0.3.RELEASE.jar:3.0.3.RELEASE] at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:280) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:304) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:220) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:301) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) [junit-4.8.2.jar:na] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:303) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) [junit-4.8.2.jar:na] at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) [junit-4.8.2.jar:na] at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) [junit-4.8.2.jar:na] at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) [junit-4.8.2.jar:na] at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) [junit-4.8.2.jar:na] at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) [junit-4.8.2.jar:na] at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.junit.runners.ParentRunner.run(ParentRunner.java:236) [junit-4.8.2.jar:na] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE] at org.junit.runner.JUnitCore.run(JUnitCore.java:157) [junit-4.8.2.jar:na] at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:97) [junit-rt.jar:na] at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:196) [junit-rt.jar:na] at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65) [junit-rt.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_17] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_17] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_17] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_17] at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115) [idea_rt.jar:na]
In attachment is a maven project which reproduce error.
- Configure activiti-sandbox/src/main/resources/database.properties
- Create db under mssql 2005
- run testCase - MsSqlIntegrTest.java (it is not unit test, requires db)
The database schema provided with activiti for mssql is using filtered indexes. This feature is included in mssql 2008 or newer. One need to add a computed column to table ACT_RU_EXECUTION and ACT_HI_PROCINST like following column definition:
COMPUTED_KEY_ AS ( CASE WHEN BUSINESS_KEY_ IS NULL THEN ID_ ELSE BUSINESS_KEY_ END )
In addition one need to replace the filtered indexes ACT_UNIQ_RU_BUS_KEY and ACT_UNIQ_HI_BUS_KEY with following index definitions:
CREATE UNIQUE INDEX ACT_UNIQ_RU_BUS_KEY ON ACT_RU_EXECUTION (PROC_DEF_ID_, COMPUTED_KEY_)
CREATE UNIQUE INDEX ACT_UNIQ_HI_BUS_KEY ON ACT_HI_PROCINST (PROC_DEF_ID_, COMPUTED_KEY_)
This works for me since Activiti 5.2 for mssql 2005. For mssql 2008 I use the provided schema without problems.
I had a problem when updating the schema from Activiti 5.2 to 5.3 due to a syntax error in an ALTER TABLE statement. There is already a JIRA issue about this error. Hopefully the problems will be fixed for next version 5.4, which is schedulred for next friday.