【问题标题】:How do I fix the error: "Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints"如何修复错误:“无法启用约束。一行或多行包含违反非空、唯一或外键约束的值”
【发布时间】:2020-09-14 19:51:10
【问题描述】:

当我设置我的 SQLite DB 并尝试让 UIPath 读取它时,我收到此错误:“无法启用约束。一行或多行包含违反非空、唯一或外键约束的值”

如何让 UIPath 读取此内容?

【问题讨论】:

  • 在没有 UiPath 的情况下查询会发生什么?
  • 嗨 Kwoxer,这是 UIPath 的问题。如果您创建表并且该字段是“文本”而不​​是“字符串”,那么如果您在 SQLite 中查询或使用其他编程语言,它将正常工作。这只是 UIPath 的问题。虽然您无法在 UIPath 中修复它,但如果您希望它与 UIPath 一起使用,则必须定制 DB。我也在 MaxInt 字段中看到了这一点。不幸的是,有很多事情可能会导致 UIPath 中出现此错误,但归结为 DB 的设置方式

标签: sqlite uipath


【解决方案1】:

当您尝试运行查询时,UIPath 可能会产生此错误 “未能启用约束。一行或多行包含违反非空、唯一或外键约束的值”

查询可能在数据库的命令行中运行,但在 UIPath 中不起作用,但这是具有欺骗性的,因为这是 不是 UIPath 问题。这是数据库表本身的问题。表格元素必须是 UIPath 可以使用的类型。

例如,记录的问题之一: SQLite 将允许您像这样创建数据库表  创建表客户端(name text null,email text null,goodstanding text null); 虽然这在数据库中是允许的并且它会起作用,但 UIPath 将无法读取这些行。相反,像这样创建表:  创建表客户端(name string null,email string null,goodstanding string null);

UIPath 不知道如何处理变量类型“文本”

一旦你创建了字符串类型的表(或其他可接受的变量 int 等),你就可以在 UIPath 中使用它

【讨论】:

  • MS SQL 也可能发生这种情况,使用 nvarchar 列类型。 CAST as varchar 有帮助
猜你喜欢
  • 2012-03-30
  • 2015-12-13
  • 1970-01-01
  • 2012-01-16
  • 2012-11-10
相关资源
最近更新 更多