Neo4j 错误代码列表
本页面列出了当前的 Neo4j 错误代码,它们会与 GQLSTATUS 错误代码 一起返回,并按类型分组。
|
自 2025.04 版本起,程序化使用错误消息的做法已被弃用。由于错误消息在未来版本中可能会发生变化,请在应用程序代码中解析或使用 GQLSTATUS 错误代码。有关详情,请参阅 GQLSTATUS 错误代码。 |
客户端错误 (Client errors)
这是 Neo4j 可能返回的所有客户端错误的完整列表及其含义。
| Neo4j 代码 | 描述 |
|---|---|
|
无效的变更标识符。 |
|
此服务器无法处理该请求。写请求只能由领导者 (Leader) 处理。 |
|
无法将请求路由到合适的服务器。 |
|
请求引用的数据库不存在。 |
|
请求引用了一个带有别名的数据库。 |
|
请求引用了一个已存在的数据库。 |
|
检测到非法的别名链。此请求无法执行。 |
|
这是一个只读数据库,不允许进行写入或修改操作。 |
|
请求包含空字段或不允许的字段。 |
|
事务占用的内存超过了允许的范围。事务允许的最大内存大小可以在 Neo4j 配置文件(通常为 conf/neo4j.conf,如果使用 Neo4j Desktop,则可通过用户界面找到)中的 |
|
此事务要求数据库处于比当前更高的内核版本。请确保在重试此操作前,已正确升级 Neo4j DBMS。 |
|
此数据库处于只读模式,不允许进行写入或修改操作。 |
|
调用存储过程失败。具体原因请参阅详细的错误描述。 |
|
请求引用的存储过程未在该数据库实例中注册。如果您在集群设置中部署自定义存储过程,请确保集群中的所有实例都已部署该存储过程的 jar 文件。 |
|
数据库无法注册存储过程,详细信息请参考相关的错误消息。 |
|
存储过程未在指定的超时时间内完成。您可以尝试使用更长的超时时间重新执行。 |
|
存储过程正在使用或接收无效类型的值。 |
|
客户端提供了无效的请求。 |
|
客户端提供的请求缺少必填字段或包含不允许的值。 |
|
客户端发出了请求,但未及时消耗输出缓冲区。 |
|
服务器处于紧急 (panic) 状态。 |
|
路由失败。 |
|
无法执行此操作,因为它与现有的约束冲突。 |
|
请求(直接或间接)引用了一个不存在的约束。 |
|
违反了数据库强制执行的约束。 |
|
添加或更改的索引条目违反了约束。 |
|
无法执行此操作,因为已存在同名的约束。 |
|
无法执行此操作,因为已存在等效的模式规则。 |
|
无法在指定的索引上执行请求的操作,因为该索引属于约束的一部分。如果您想删除该索引,则必须同时删除该约束。 |
|
无法执行此操作,因为它与现有的索引冲突。 |
|
请求通过模式引用了一个索引,但找到了多个匹配的索引。 |
|
请求不包含索引所需的属性。 |
|
请求(直接或间接)引用了一个不存在的索引。 |
|
无法执行此操作,因为已存在同名的索引。 |
|
由于模式中有重复的标签,无法创建索引或约束。 |
|
由于模式中有重复的属性,无法创建索引或约束。 |
|
由于模式中有重复的关系类型,无法创建索引或约束。 |
|
模式规则条目超过了允许的最大大小。 |
|
令牌名称(如标签、关系类型或属性键)过长。 |
|
令牌名称无效(标签、关系类型、属性键)。令牌不能为空字符串且不能为 null。 |
|
客户端连续多次提供了错误的身份验证详细信息。 |
|
存储的授权信息已过期。请重新连接。 |
|
凭据已过期,需要更新。 |
|
尝试执行未经授权的操作。 |
|
身份验证提供程序的令牌已过期。 |
|
由于身份验证失败,客户端未经授权。 |
|
由于访问模式冲突,请求无法完成。 |
|
语句尝试使用无效参数执行操作。 |
|
算术运算使用无效,例如除以零。 |
|
数据库中的数据违反了语句强制执行的约束。 |
|
语句引用了一个不存在的实体。 |
|
访问外部资源失败。 |
|
指定的数据库不是此命令的有效目标。 |
|
这是一个管理命令,必须针对 |
|
语句引用了请求中未提供的参数。 |
|
语句引用了一个不存在的属性。 |
|
由于客户端错误,数据库无法执行语句的远程部分。 |
|
所选运行时不支持此查询。 |
|
语句在语法上有效,但表达了数据库无法执行的操作。 |
|
语句包含无效或不支持的语法。 |
|
语句尝试对操作不支持类型的值执行操作。 |
|
此管理命令不受支持。 |
|
此查询执行了在此上下文中不支持的操作。 |
|
事务类型错误,无法处理该请求。例如,在已执行模式修改的事务中,无法随后执行数据操作,反之亦然。 |
|
无法解析提供的书签。您应该只提供由 Neo4j 先前生成的书签。可能您生成了自己的书签,或者修改了由 Neo4j 生成的书签。 |
|
禁止混合由不同数据库生成的书签。您只能链接由同一数据库生成的书签。但是,您可以将 |
|
事务已被终止,因此无法再获取锁。这可能是因为事务运行时间超过了配置的事务超时时间、人工手动终止了事务,或者数据库已关闭。 |
|
已被用户显式终止。 |
|
存在并发请求访问同一个事务,这是不允许的。 |
|
事务钩子 (Transaction hook) 失败。 |
|
事务被同时标记为成功和失败。由于失败优先,事务已回滚。 |
|
请求引用了一个不存在的事务。 |
|
事务未在指定的超时时间内完成 ( |
|
事务未在客户端启动时指定的超时时间内完成。您可以尝试使用更长的超时时间重新执行。 |
|
事务更改未通过验证检查。 |
瞬态错误 (Transient errors)
这是 Neo4j 可能返回的所有瞬态错误的完整列表及其含义。
| Neo4j 代码 | 描述 |
|---|---|
|
变更标识符指向在此数据库实例上尚未发生的未来事务。 |
|
复制失败。 |
|
数据库当前无法处理您的请求,请参阅数据库日志以了解更多详细信息。稍后重试请求可能会成功。 |
|
超过了内存池限制。相应的设置可以在错误消息中找到。 |
|
内存不足,无法执行当前任务。请尝试增加 Neo4j 配置文件(通常为 conf/neo4j.conf,如果使用 Neo4j Desktop,则可通过用户界面找到)中的 如果您运行的是嵌入式安装,可以使用 |
|
栈空间不足,无法执行当前任务。这通常被认为是数据库错误,请联系 Neo4j 技术支持。 您可以尝试增加栈大小;例如,要将栈大小设置为 如果您运行的是嵌入式安装,可以添加 |
|
内存不足,无法执行当前任务。请尝试增加 Neo4j 配置文件(通常为 conf/neo4j.conf,如果使用 Neo4j Desktop,则可通过用户界面找到)中的 |
|
服务器因当前资源耗尽而拒绝了此请求。您可以稍后重试。有关详细信息,请参阅服务器日志。 |
|
当前没有可用的线程来处理此请求。您可以稍后重试,或考虑增加 Bolt 连接器的最大线程池大小。 |
|
身份验证提供程序请求失败。 |
|
身份验证提供程序请求超时。 |
|
用户在处理此请求的同时被修改了。 |
|
数据库无法及时执行该语句。 |
|
由于瞬态故障,数据库无法执行语句的远程部分。 |
|
书签等待超时。数据库尚未达到指定的版本。 |
|
自此事务开始以来,数据库约束已更改。 |
|
此事务以及至少另一个事务以一种会导致无限等待的方式获取了锁,数据库已将其终止。重试此事务很可能会成功。 |
|
等待时被中断。 |
|
由于集群领导者切换,请求无法完成。 |
|
启动此事务时的租约已不再有效。 |
|
无法在配置的超时时间内获取锁 ( |
|
由于已达到最大并发执行事务数 ( |
|
事务观察到的状态在事务活动期间已被应用的更新所失效。如果重试,事务可能会成功。 |
|
由于查询失败,事务被标记为失败。 |
数据库错误 (Database error)
这是 Neo4j 可能返回的所有数据库错误的完整列表及其含义。
| Neo4j 代码 | 描述 |
|---|---|
|
当前未为此数据库启用变更数据捕获 (Change Data Capture)。 |
|
无法读取此数据库的变更数据捕获数据。 |
|
已达到数据库数量上限。 |
|
无法启动数据库。 |
|
未知的数据库管理错误。 |
|
请求(直接或间接)引用了一个处于故障状态的索引。该索引需要手动删除并重新创建。 |
|
遇到格式错误的模式规则。请联系您的技术支持代表。 |
|
在磁盘上未找到预期的文件集。请从备份中恢复。 |
|
发生未知错误。 |
|
创建请求的约束失败。 |
|
数据库删除请求的约束失败。 |
|
创建索引失败。 |
|
数据库删除请求的索引失败。 |
|
请求访问了一个不存在的标签。 |
|
请求访问了一个不存在的属性。 |
|
请求访问了一个不存在的关系类型。 |
|
请求引用了一个不存在的模式规则。 |
|
请求引用的模式规则被定义了多次。 |
|
已达到此类型令牌的最大数量,无法再创建此类令牌。 |
|
数据库无法执行该语句。 |
|
数据库无法执行语句的远程部分。 |
|
事务被终止,因为执行同一查询的另一个事务遇到了错误。 |
|
数据库无法提交该事务。 |
|
数据库无法将事务写入日志。 |
|
数据库无法回滚该事务。 |
|
数据库无法启动该事务。 |
|
数据库无法终止该事务。 |