当前位置: 首页 > 知识库问答 >
问题:

户外活动错误太长,类型字符变化(255)ACT_HI_TASKINST

文英达
2023-03-14

我有一个Alfresco(5.2.4)工作流,它在activiti引擎上运行。当用户提交任务并且用户任务块完成时,我收到以下错误:

2019-03-28 10:02:28,024  ERROR [impl.interceptor.CommandContext] [http-bio-8080-exec-17] Error while closing command context
org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: org.postgresql.util.PSQLException: ERRORE: il valore è troppo lungo per il tipo character varying(255)
### The error may involve org.activiti.engine.impl.persistence.entity.HistoricTaskInstanceEntity.insertHistoricTaskInstance-Inline
### The error occurred while setting parameters
### SQL: insert into ACT_HI_TASKINST (         ID_,         PROC_DEF_ID_,         PROC_INST_ID_,         EXECUTION_ID_,         NAME_,         PARENT_TASK_ID_,         DESCRIPTION_,         OWNER_,         ASSIGNEE_,         START_TIME_,         CLAIM_TIME_,         END_TIME_,         DURATION_,         DELETE_REASON_,         TASK_DEF_KEY_,         FORM_KEY_,         PRIORITY_,         DUE_DATE_,         CATEGORY_,         TENANT_ID_       ) values (         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?,         ?       )
### Cause: org.postgresql.util.PSQLException: ERRORE: il valore è troppo lungo per il tipo character varying(255)
    at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:172)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:157)
    at org.activiti.engine.impl.db.DbSqlSession.flushRegularInsert(DbSqlSession.java:830)
    at org.activiti.engine.impl.db.DbSqlSession.flushPersistentObjects(DbSqlSession.java:811)
    at org.activiti.engine.impl.db.DbSqlSession.flushInserts(DbSqlSession.java:794)
    at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:615)

到目前为止,我发现activiti自动存储在工作流中执行的“步骤”的历史记录,因此它会引发错误。

我想知道是否有一些数据库表定义,我可以寻找搜索超过255个字符总数的列。

如果我不能在用户完成任务时修改javascript代码,有没有办法增加长度?

谢啦

附注:我找到了这个活动留档,但没有数据库定义

我已经能够直接连接到我的活动数据库,在里面搜索连接属性alfresco-global.properties.因此我能够看到该表结构并查找varchar(255)字段。它们是7:

  • name_
  • owner_
  • assignee_
  • form_key_
  • category_
  • tenant_id_

有人知道如何查看打印活动的确切查询吗?

共有1个答案

荆利
2023-03-14

我在工作流定义中找到了activiti查询错误的原因。这是一项不完整的活动:导致问题的受让人财产。我写了activiti:assignee=“${mywf\u assignee}”而不是activiti:assignee=“${mywf\u assignee.properties.userName}”。因此,基本上,查询将尝试将整个nodeRef写入assignee_uu列中,该列超过255个字符。

遗憾的是,我没有找到显示activiti complete sql查询的方法。

 类似资料:
  • 我使用的是Spring Data JPA,我的列定义是 在有效负载中,我使用了具有字符计数的描述。但它仍然在扔 错误:值太长,无法更改类型字符(255)` 仅使用长度为1990的文本,即使对于文本类型也会出现相同的错误

  • 目标是使用hibernate将json文本保存到数据库中。 <代码>用户。java books.java:

  • 问题内容: 我要在Oracle SQL Developer中针对Oracle 10g服务器运行以下SQL: 当我尝试运行它时,出现以下错误: 我的字符串有时会长于4000个字符。关于如何解决这个问题的任何想法吗? 问题答案: 您将需要使用CLOB作为XMLTYPE()的输入,而不是VARCHAR。 使用从文件中加载xml,或通过将xml分成32000个字符块并附加到CLOB的方式。

  • 问题内容: 为什么在将long分配给min和max的地方得到的int数太大? 问题答案: 默认情况下,java中的所有文字数字均为,范围为 包含在内。 您的文字超出了此范围,因此要进行编译,您需要指出它们是文字(即带有的后缀): 请注意,java同时支持大写和小写,但我建议 不要 使用小写,因为它看起来像: 相同的Java语言规范 如果以ASCII字母L或l(ell)为后缀,则整数文字的类型为lo

  • 我正在创建一个SSIS包,并在提取数据时得到以下错误。 错误:分配给变量“User::dunsId”的值(DBNull)的类型与当前变量类型(字符串)不同。变量在执行期间可能不会更改类型。变量类型是严格的,但Object类型的变量除外。 DunsId在源表中是varchar(150),源表是可为空的列,并包含空值。我在SSIS中创建的用于映射它的变量是字符串类型的。我基本上试图提取所有他的记录,并