<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Define The DatabaseSpecificStatement for ..new DBMS (A 5.11) in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/define-the-databasespecificstatement-for-new-dbms-a-5-11/m-p/145687#M101794</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;How were such statements determined?&lt;BR /&gt;What should I set for Ms Access (or other DBMS, that is not currenty specified in code) ?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;In order to page every query on a database-level, it's needed for some databases to include special fragments in the SQL. In all queries that support paging, the fragments to include "before" and after the full query. Depending on the database used, a piece of SQL will be added before or after, based on the mappings. For example, H2 uses this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;LIMIT #{maxResults} OFFSET #{firstResult}&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;You should create an alternative SQL-fragment that tells access to limit the number of results, can't help you with that…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 27 Mar 2013 12:19:16 GMT</pubDate>
    <dc:creator>frederikherema1</dc:creator>
    <dc:date>2013-03-27T12:19:16Z</dc:date>
    <item>
      <title>Define The DatabaseSpecificStatement for ..new DBMS (A 5.11)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/define-the-databasespecificstatement-for-new-dbms-a-5-11/m-p/145686#M101793</link>
      <description>Hi all,currenlty i try to define the new DBMS Support for the Activiti 5.11 (As example i try to define the MS Access Support)Firstly, i have patched the getDefaultDatabaseTypeMappings() method of org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl (activiti-engine.jar) by adding the&amp;nbsp;&amp;nbsp;&amp;nbsp; data</description>
      <pubDate>Tue, 26 Mar 2013 17:10:36 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/define-the-databasespecificstatement-for-new-dbms-a-5-11/m-p/145686#M101793</guid>
      <dc:creator>udoderk</dc:creator>
      <dc:date>2013-03-26T17:10:36Z</dc:date>
    </item>
    <item>
      <title>Re: Define The DatabaseSpecificStatement for ..new DBMS (A 5.11)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/define-the-databasespecificstatement-for-new-dbms-a-5-11/m-p/145687#M101794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;How were such statements determined?&lt;BR /&gt;What should I set for Ms Access (or other DBMS, that is not currenty specified in code) ?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;In order to page every query on a database-level, it's needed for some databases to include special fragments in the SQL. In all queries that support paging, the fragments to include "before" and after the full query. Depending on the database used, a piece of SQL will be added before or after, based on the mappings. For example, H2 uses this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;LIMIT #{maxResults} OFFSET #{firstResult}&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;You should create an alternative SQL-fragment that tells access to limit the number of results, can't help you with that…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Mar 2013 12:19:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/define-the-databasespecificstatement-for-new-dbms-a-5-11/m-p/145687#M101794</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2013-03-27T12:19:16Z</dc:date>
    </item>
    <item>
      <title>Re: Define The DatabaseSpecificStatement for ..new DBMS (A 5.11)</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/define-the-databasespecificstatement-for-new-dbms-a-5-11/m-p/145688#M101795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for that infos! &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After trying to support ms access, i know, that&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;db.properties must be changed like those&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;db=msaccess&lt;BR /&gt;&lt;BR /&gt;jdbc.driver=sun.jdbc.odbc.JdbcOdbcDriver&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;jdbc.url=jdbc:smileysurprised:dbc:smileyvery-happy:RIVER={Microsoft Access Driver (*.mdb)};DBQ=X:\\MyDB\\testdb.mdb&lt;BR /&gt;jdbc.username=""&lt;BR /&gt;jdbc.password=""&lt;/CODE&gt;&lt;SPAN&gt;Then the ddl files&lt;/SPAN&gt;&lt;BR /&gt;&lt;UL&gt;activiti.msaccess.create.engine.sql&lt;BR /&gt;activiti.msaccess.create.history.sql&lt;BR /&gt;activiti.msaccess.create.identity.sql&lt;/UL&gt;&lt;SPAN&gt;must be specified under org.activiti.db.create namespace.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That work is realy hard for me, because not all features /sql datatypes, that i know from MS SQL/DB2/Oracle, are supported by Ms Accsess (key words: "Blob"/"numeric(,)//tinyint)&lt;/SPAN&gt;&lt;BR /&gt;&lt;EM&gt;see also&lt;BR /&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/office/bb177891%28v=office.12%29.aspx" rel="nofollow noopener noreferrer"&gt;CREATE INDEX Statement (Microsoft Access SQL&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/office/bb177899%28v=office.12%29.aspx" rel="nofollow noopener noreferrer"&gt;Equivalent ANSI SQL Data Types&lt;/A&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;SPAN&gt;Then&lt;/SPAN&gt;&lt;EM&gt; org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.getDefaultDatabaseTypeMappings()&lt;/EM&gt;&lt;SPAN&gt; must be adjusted by adding&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; databaseTypeMappings.setProperty("ACCESS","msaccess"); &lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;Then specific statements for MS Access into org.activiti.engine.impl.db.DbSqlSessionFactory must be registered.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thus, if i started Activi Explorer with patched engine, the tables were created.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But the following exception was thrown:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;### Cause: java.sql.SQLException: General error&lt;BR /&gt; at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)&lt;BR /&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104)&lt;BR /&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:95)&lt;BR /&gt; at org.activiti.engine.impl.db.DbSqlSession.selectListWithRawParameter(DbSqlSession.java:301)&lt;BR /&gt; at org.activiti.engine.impl.db.DbSqlSession.selectList(DbSqlSession.java:292)&lt;BR /&gt; at org.activiti.engine.impl.db.DbSqlSession.selectList(DbSqlSession.java:287)&lt;BR /&gt; at org.activiti.engine.impl.db.DbSqlSession.selectList(DbSqlSession.java:274)&lt;BR /&gt; at org.activiti.engine.impl.persistence.entity.JobManager.findNextJobsToExecute(JobManager.java:105)&lt;BR /&gt; at org.activiti.engine.impl.cmd.AcquireJobsCmd.execute(AcquireJobsCmd.java:50)&lt;BR /&gt; at org.activiti.engine.impl.cmd.AcquireJobsCmd.execute(AcquireJobsCmd.java:33)&lt;BR /&gt; at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)&lt;BR /&gt; at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:60)&lt;BR /&gt; at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42)&lt;BR /&gt; at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)&lt;BR /&gt; at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40)&lt;BR /&gt; at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32)&lt;BR /&gt; at org.activiti.engine.impl.jobexecutor.AcquireJobsRunnable.run(AcquireJobsRunnable.java:61)&lt;BR /&gt; at java.lang.Thread.run(Thread.java:722)&lt;BR /&gt;Caused by: java.sql.SQLException: General error&lt;BR /&gt; at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6985)&lt;BR /&gt; at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)&lt;BR /&gt; at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3148)&lt;BR /&gt; at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedStatement.java:215)&lt;BR /&gt; at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)&lt;BR /&gt; at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)&lt;BR /&gt; at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:56)&lt;BR /&gt; at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:70)&lt;BR /&gt; at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:57)&lt;BR /&gt; at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267)&lt;BR /&gt; at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:141)&lt;BR /&gt; at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:105)&lt;BR /&gt; at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:81)&lt;BR /&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:101)&lt;BR /&gt; … 16 more&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;The mybatis job.xml has following not changed code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&amp;lt;select id="selectNextJobsToExecute" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="jobResultMap"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ${limitBefore}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RES.* ${limitBetween}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from ${prefix}ACT_RU_JOB RES&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEFT OUTER JOIN ${prefix}ACT_RU_EXECUTION PI ON PI.ID_ = RES.PROCESS_INSTANCE_ID_&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where (RES.RETRIES_ &amp;amp;gt; 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and (RES.DUEDATE_ is null or RES.DUEDATE_ &amp;amp;lt; #{parameter, jdbcType=TIMESTAMP})&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and (RES.LOCK_OWNER_ is null or RES.LOCK_EXP_TIME_ &amp;amp;lt; #{parameter, jdbcType=TIMESTAMP})&lt;BR /&gt;&amp;nbsp;&amp;nbsp; and (&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RES.EXECUTION_ID_ is null)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; or &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (PI.SUSPENSION_STATE_ = 1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${limitAfter}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; &amp;lt;/select&amp;gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Because the SQL error &lt;/SPAN&gt;&lt;EM&gt;"General error"&lt;/EM&gt;&lt;SPAN&gt; is imho nondescriptive and a lot of tricks is used during defining the datatypes for activiti tables, i suspend for the future such ms access investigations &lt;img id="smileyindifferent" class="emoticon emoticon-smileyindifferent" src="https://connect.hyland.com/i/smilies/16x16_smiley-indifferent.png" alt="Smiley Indifferent" title="Smiley Indifferent" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[size=200]========================&lt;/SPAN&gt;&lt;STRONG&gt;Update 1;-))&lt;/STRONG&gt;&lt;SPAN&gt;========================[/size]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After Setting "before/between"after" and "groupBy" descriptions to emty string, no more&amp;nbsp; &lt;/SPAN&gt;&lt;EM&gt;"General error"&lt;/EM&gt;&lt;SPAN&gt; occurred.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But i had the problem with NULL during insert into following table for &lt;/SPAN&gt;&lt;EM&gt;PASSWORD_ &lt;/EM&gt;&lt;SPAN&gt;attribute:&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;create table ACT_ID_INFO (&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID_ VARCHAR(64),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; REV_ LONG,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USER_ID_ VARCHAR(64),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE_ VARCHAR(64),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEY_ VARCHAR(255),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUE_ VARCHAR(255),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PASSWORD_ BINARY,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PARENT_ID_ VARCHAR(255),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; primary key (ID_)&lt;BR /&gt;);&lt;/CODE&gt;&lt;SPAN&gt;(Originally for instance for DB2 the PASSWORD_&amp;nbsp; has a &lt;/SPAN&gt;&lt;EM&gt;Blob &lt;/EM&gt;&lt;SPAN&gt;type. In MS SQL Server it has an &lt;/SPAN&gt;&lt;EM&gt;image &lt;/EM&gt;&lt;SPAN&gt;type. I have understood that this attribute is only &lt;/SPAN&gt;&lt;STRONG&gt;leftover &lt;/STRONG&gt;&lt;SPAN&gt;from previous "Alfreco"(?) developments. That time there was "Account" possibilty (deprecated org.activiti.engine.impl.identity.Account) for remote login on using "Google" , "Skype" etc. accounts.)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To avoid NULL-problem i declared in &lt;/SPAN&gt;&lt;EM&gt;org.activiti.engine.impl.cmd.SetUserInfoCmd.SetUserInfoCmd(String, String, String)&lt;/EM&gt;&lt;SPAN&gt; following values for &lt;/SPAN&gt;&lt;EM&gt;userPassword &lt;/EM&gt;&lt;SPAN&gt;and &lt;/SPAN&gt;&lt;EM&gt;accountPassword&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&amp;nbsp; public SetUserInfoCmd(String userId, String key, String value) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userId = userId;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.type = IdentityInfoEntity.TYPE_USERINFO;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.key = key;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.value = value;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userPassword="12";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.accountPassword="12";&lt;BR /&gt;&amp;nbsp; }&lt;/CODE&gt;&lt;SPAN&gt;(this values for &lt;/SPAN&gt;&lt;EM&gt;userPassword &lt;/EM&gt;&lt;SPAN&gt;and &lt;/SPAN&gt;&lt;EM&gt;accountPassword &lt;/EM&gt;&lt;SPAN&gt;will be encrypted as byte array. The encryption was not realized.)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now i see the Activiti Login Dialog! But if y try to loggin on, the following exception will be thrown:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;### The error may exist in org/activiti/db/mapping/entity/Group.xml&lt;BR /&gt;### The error may involve org.activiti.engine.impl.persistence.entity.GroupEntity.selectGroupByQueryCriteria-Inline&lt;BR /&gt;### The error occurred while setting parameters&lt;BR /&gt;### SQL: select RES.*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from ACT_ID_GROUP RES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inner join ACT_ID_MEMBERSHIP M on RES.ID_ = M.GROUP_ID_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inner join ACT_ID_USER U on M.USER_ID_ = U.ID_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE&amp;nbsp; U.ID_ = ?&lt;BR /&gt;### Cause: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]&lt;STRONG&gt; Syntax error (missing operator) in query expression&lt;/STRONG&gt; 'RES.ID_ = M.GROUP_ID_&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inner join ACT_ID_USER U on M.USER_ID_ = U.ID_'&lt;BR /&gt;&lt;BR /&gt; at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)&lt;BR /&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104)&lt;BR /&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:95)&lt;BR /&gt; at org.activiti.engine.impl.db.DbSqlSession.selectListWithRawParameter(DbSqlSession.java:301)&lt;BR /&gt; at org.activiti.engine.impl.db.DbSqlSession.selectList(DbSqlSession.java:292)&lt;BR /&gt; at org.activiti.engine.impl.db.DbSqlSession.selectList(DbSqlSession.java:282)&lt;BR /&gt; at org.activiti.engine.impl.persistence.entity.GroupManager.findGroupByQueryCriteria(GroupManager.java:64)&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[size=200]========================&lt;/SPAN&gt;&lt;STRONG&gt;Update 2;-))&lt;/STRONG&gt;&lt;SPAN&gt;========================[/size]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Now i found, that mybatis mapper use &lt;/SPAN&gt;&lt;EM&gt;&lt;A _jive_internal="true" href="https://community.alfresco.com/www.firstsql.com/tutor2.htm" rel="nofollow noopener noreferrer"&gt;correlation names&lt;/A&gt;&lt;/EM&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;A href="https://bugzilla.mozilla.org/show_bug.cgi?id=312349" rel="nofollow noopener noreferrer"&gt;without "AS" keyword&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;Such notation is not supported by Ms Accsess (i have tested with MS Access 10).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I change all mapper, that use such notation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But the next trouble occurred&amp;nbsp; :twisted:&amp;nbsp; :twisted:&amp;nbsp; :twisted: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ms Access needs the brackets, if the JOINs will be used in sql statement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The following notaion from Group.xml is wrong for Ms Access&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&amp;lt;sql id="selectGroupByQueryCriteriaSql"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from ${prefix}ACT_ID_GROUP AS RES&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;if test="userId != null"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inner join ${prefix}ACT_ID_MEMBERSHIP AS M on RES.ID_ = M.GROUP_ID_&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inner join ${prefix}ACT_ID_USER AS U on M.USER_ID_ = U.ID_&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/if&amp;gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;The valid for Ms Access notation as follows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&amp;lt;sql id="selectGroupByQueryCriteriaSql"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from ${prefix}ACT_ID_GROUP AS RES&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;if test="userId != null"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inner join &lt;STRONG&gt;[size=150]([/size]&lt;/STRONG&gt; ${prefix}ACT_ID_MEMBERSHIP AS M inner join&amp;nbsp; ${prefix}ACT_ID_USER AS U on M.USER_ID_ = U.ID_&amp;nbsp; &lt;STRONG&gt;[size=150])[/size]&lt;/STRONG&gt; on RES.ID_ = M.GROUP_ID_&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/if&amp;gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;I tested such sql statement in Ms Access &lt;/SPAN&gt;&lt;STRONG&gt;directly too&lt;/STRONG&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;SELECT count(RES.ID_ ) FROM&amp;nbsp; ACT_ID_GROUP AS RES&amp;nbsp;&amp;nbsp; INNER JOIN (&lt;BR /&gt;&lt;BR /&gt;ACT_ID_MEMBERSHIP AS M&amp;nbsp; INNER JOIN &lt;BR /&gt;&lt;BR /&gt;ACT_ID_USER AS U&lt;BR /&gt;&lt;BR /&gt;ON M.[USER_ID_] = U.[ID_]&lt;BR /&gt;&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;ON &lt;BR /&gt;&lt;BR /&gt;RES.ID_ = M.GROUP_ID_;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;That is, all mybatis sql statements must be adjusted according to needed notation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Currenlty, the login on fails in other place:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;### Error querying database.&amp;nbsp; Cause: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression'count(distinct RES.ID_)'.&lt;BR /&gt;### The error may exist in org/activiti/db/mapping/entity/Task.xml&lt;BR /&gt;### The error may involve org.activiti.engine.impl.persistence.entity.TaskEntity.selectTaskCountByQueryCriteria-Inline&lt;BR /&gt;### The error occurred while setting parameters&lt;BR /&gt;### SQL: select count(distinct RES.ID_)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from ACT_RU_TASK AS RES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE&amp;nbsp; RES.ASSIGNEE_ = ?&lt;BR /&gt;### Cause: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'count(distinct RES.ID_)'.&lt;BR /&gt; at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)&lt;BR /&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104)&lt;BR /&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:95)&lt;BR /&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:59)&lt;BR /&gt; at org.activiti.engine.impl.db.DbSqlSession.selectOne(DbSqlSession.java:307)&lt;BR /&gt; at org.activiti.engine.impl.persistence.entity.TaskManager.findTaskCountByQueryCriteria(TaskManager.java:113)&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;[size=200]========================&lt;/SPAN&gt;&lt;STRONG&gt;Update 3;-))&lt;/STRONG&gt;&lt;SPAN&gt;========================[/size]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The Ms Access not accepts the following sql into Task.xml:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&amp;lt;select id="selectTaskCountByQueryCriteria" parameterType="org.activiti.engine.impl.TaskQueryImpl" resultType="long"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select count(distinct RES.ID_)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;include refid="selectTaskByQueryCriteriaSql"/&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;/select&amp;gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Such sql is accepted:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&amp;lt;select id="selectTaskCountByQueryCriteria" parameterType="org.activiti.engine.impl.TaskQueryImpl" resultType="long"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select &lt;STRONG&gt;distinct &lt;/STRONG&gt;count( RES.ID_)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;include refid="selectTaskByQueryCriteriaSql"/&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;/select&amp;gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;After that fix i can to logged on into Activiti Explorer. I can select the predifiened bpmn process, but if i try to start it (for instance "Fix system failure") the next exception will be thrown:&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;org.apache.ibatis.exceptions.PersistenceException: &lt;BR /&gt;### Error updating database.&amp;nbsp; Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #7 with JdbcType BIGINT . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]optional feature not&amp;nbsp; implemented.&lt;BR /&gt;### The error may involve org.activiti.engine.impl.persistence.entity.HistoricProcessInstanceEntity.insertHistoricProcessInstance-Inline&lt;BR /&gt;### The error occurred while setting parameters&lt;BR /&gt;### SQL: insert into ACT_HI_PROCINST (&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_INST_ID_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUSINESS_KEY_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_DEF_ID_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; START_TIME_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END_TIME_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DURATION_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; START_USER_ID_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; START_ACT_ID_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END_ACT_ID_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SUPER_PROCESS_INSTANCE_ID_,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DELETE_REASON_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) values (&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;### Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #7 with JdbcType BIGINT . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]optional feature not&amp;nbsp; implemented.&lt;BR /&gt; at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)&lt;BR /&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:147)&lt;BR /&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:134)&lt;BR /&gt; at org.activiti.engine.impl.db.DbSqlSession.flushInserts(DbSqlSession.java:632)&lt;BR /&gt; at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:459)&lt;BR /&gt; at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:167)&lt;BR /&gt; at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:114)&lt;BR /&gt; at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:69)&lt;BR /&gt; at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42)&lt;BR /&gt; at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)&lt;BR /&gt; at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40)&lt;BR /&gt; at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32)&lt;BR /&gt; at org.activiti.engine.impl.RuntimeServiceImpl.startProcessInstanceById(RuntimeServiceImpl.java:67)&lt;BR /&gt; at org.activiti.explorer.ui.process.listener.StartProcessInstanceClickListener.buttonClick(StartProcessInstanceClickListener.java:71)&lt;BR /&gt; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;BR /&gt; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)&lt;BR /&gt; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;BR /&gt; at java.lang.reflect.Method.invoke(Method.java:601)&lt;BR /&gt;&lt;/CODE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Mar 2013 16:38:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/define-the-databasespecificstatement-for-new-dbms-a-5-11/m-p/145688#M101795</guid>
      <dc:creator>udoderk</dc:creator>
      <dc:date>2013-03-27T16:38:56Z</dc:date>
    </item>
  </channel>
</rss>

