Neo4j 错误代码列表

本页面列出了当前的 Neo4j 错误代码,这些错误代码与 GQLSTATUS 错误代码一同返回,并按类型分组。

从 2025.04 版本开始,以编程方式使用错误消息已被弃用。由于错误消息在未来版本中可能会更改,请在应用程序代码中解析或使用 GQLSTATUS 错误代码。有关详细信息,请参阅 GQLSTATUS 错误代码

客户端错误

这是 Neo4j 可能返回的所有客户端错误的完整列表及其含义。

Neo4j 代码 描述

Neo.ClientError.ChangeDataCapture.InvalidIdentifier

无效的变更标识符。

Neo.ClientError.Cluster.NotALeader

此服务器无法处理该请求。写入请求只能由主节点处理。

Neo.ClientError.Cluster.Routing

无法将请求路由到适当的服务器

Neo.ClientError.Database.DatabaseNotFound

该请求引用了一个不存在的数据库。

Neo.ClientError.Database.ExistingAliasFound

该请求引用了一个带有别名的数据库。

Neo.ClientError.Database.ExistingDatabaseFound

该请求引用了一个已存在的数据库。

Neo.ClientError.Database.IllegalAliasChain

检测到非法的别名链。此请求无法执行。

Neo.ClientError.Fabric.AccessMode

由于访问模式冲突,请求无法完成

Neo.ClientError.General.ForbiddenOnReadOnlyDatabase

这是一个只读数据库,不允许写入或修改数据库。

Neo.ClientError.General.InvalidArguments

请求中包含空字段或不允许的字段。

Neo.ClientError.General.TransactionOutOfMemoryError

该事务使用的内存超出了允许的范围。事务允许的最大大小可以在 Neo4j 配置文件(通常是 conf/neo4j.conf,如果您使用 Neo4j Desktop,则通过用户界面查找)中的 db.memory.transaction.max_size 进行配置。

Neo.ClientError.General.UpgradeRequired

此事务要求数据库的内核版本高于当前版本。在重试此操作之前,请确保 Neo4j DBMS 已正确升级。

Neo.ClientError.General.WriteOnReadOnlyAccessDatabase

此数据库处于只读模式,不允许写入或修改数据库。

Neo.ClientError.Procedure.ProcedureCallFailed

调用过程失败。请参阅详细错误描述以了解确切原因。

Neo.ClientError.Procedure.ProcedureNotFound

请求引用了此数据库实例未注册的过程。如果您在集群设置中部署自定义过程,请确保集群中的所有实例都已部署过程 jar 文件。

Neo.ClientError.Procedure.ProcedureRegistrationFailed

数据库未能注册过程,请参阅相关错误消息以获取详细信息。

Neo.ClientError.Procedure.ProcedureTimedOut

过程未在指定超时时间内完成。您可以尝试使用更长的超时时间重试。

Neo.ClientError.Procedure.TypeError

过程正在使用或接收无效类型的值。

Neo.ClientError.Request.Invalid

客户端提供了无效请求。

Neo.ClientError.Request.InvalidFormat

客户端提供的请求缺少必需字段或包含不允许的值。

Neo.ClientError.Request.InvalidUsage

客户端发出了请求,但未能及时消耗传出缓冲区。

Neo.ClientError.Routing.DbmsInPanic

服务器处于恐慌状态。

Neo.ClientError.Routing.RoutingFailed

路由失败。

Neo.ClientError.Schema.ConstraintAlreadyExists

无法执行此操作,因为它将与现有约束冲突。

Neo.ClientError.Schema.ConstraintNotFound

该请求(直接或间接)引用了一个不存在的约束。

Neo.ClientError.Schema.ConstraintValidationFailed

数据库施加的约束被违反。

Neo.ClientError.Schema.ConstraintViolation

添加或更改的索引条目违反了约束。

Neo.ClientError.Schema.ConstraintWithNameAlreadyExists

无法执行此操作,因为具有该名称的约束已存在。

Neo.ClientError.Schema.EquivalentSchemaRuleAlreadyExists

无法执行此操作,因为等效的模式规则已存在。

Neo.ClientError.Schema.ForbiddenOnConstraintIndex

无法对指定索引执行请求的操作,因为该索引是约束的一部分。如果要删除索引,还必须删除约束。

Neo.ClientError.Schema.IndexAlreadyExists

无法执行此操作,因为它将与现有索引冲突。

Neo.ClientError.Schema.IndexMultipleFound

该请求通过其模式引用了一个索引,并找到了多个匹配的索引。

Neo.ClientError.Schema.IndexNotApplicable

该请求未包含索引所需的属性。

Neo.ClientError.Schema.IndexNotFound

该请求(直接或间接)引用了一个不存在的索引。

Neo.ClientError.Schema.IndexWithNameAlreadyExists

无法执行此操作,因为具有该名称的索引已存在。

Neo.ClientError.Schema.RepeatedLabelInSchema

无法创建索引或约束,因为模式中存在重复的标签。

Neo.ClientError.Schema.RepeatedPropertyInCompositeSchema

无法创建索引或约束,因为模式中存在重复的属性。

Neo.ClientError.Schema.RepeatedRelationshipTypeInSchema

无法创建索引或约束,因为模式中存在重复的关系类型。

Neo.ClientError.Schema.TokenLengthError

令牌名称(如标签、关系类型或属性键)过长

Neo.ClientError.Schema.TokenNameError

令牌(标签、关系类型、属性键)使用了无效名称。令牌不能是空字符串,也不能为 null。

Neo.ClientError.Security.AuthenticationRateLimit

客户端连续提供了太多错误的身份验证详细信息。

Neo.ClientError.Security.AuthorizationExpired

存储的授权信息已过期。请重新连接。

Neo.ClientError.Security.CredentialsExpired

凭据已过期,需要更新。

Neo.ClientError.Security.Forbidden

尝试执行未经授权的操作。

Neo.ClientError.Security.TokenExpired

身份验证提供程序令牌已过期。

Neo.ClientError.Security.Unauthorized

由于身份验证失败,客户端未经授权。

Neo.ClientError.Statement.AccessMode

由于访问模式冲突,请求无法完成。

Neo.ClientError.Statement.ArgumentError

语句尝试使用无效参数执行操作。

Neo.ClientError.Statement.ArithmeticError

算术使用无效,例如除以零。

Neo.ClientError.Statement.ConstraintVerificationFailed

语句施加的约束被数据库中的数据违反。

Neo.ClientError.Statement.EntityNotFound

语句引用了一个不存在的实体。

Neo.ClientError.Statement.ExternalResourceFailed

访问外部资源失败。

Neo.ClientError.Statement.InvalidTargetDatabaseError

指定的数据库不是此命令的有效目标。

Neo.ClientError.Statement.NotSystemDatabaseError

这是一个管理命令,应针对 system 数据库执行。

Neo.ClientError.Statement.ParameterMissing

语句引用了请求中未提供的参数。

Neo.ClientError.Statement.PropertyNotFound

语句引用了一个不存在的属性。

Neo.ClientError.Statement.RemoteExecutionClientError

由于客户端错误,数据库无法执行语句的远程部分。

Neo.ClientError.Statement.RuntimeUnsupportedError

所选运行时不支持此查询。

Neo.ClientError.Statement.SemanticError

语句在语法上有效,但表达了数据库无法执行的操作。

Neo.ClientError.Statement.SyntaxError

语句包含无效或不支持的语法。

Neo.ClientError.Statement.TypeError

语句尝试对操作不支持的类型值执行操作。

Neo.ClientError.Statement.UnsupportedAdministrationCommand

不支持此管理命令。

Neo.ClientError.Statement.UnsupportedOperationError

此查询执行了在此上下文中不受支持的操作。

Neo.ClientError.Transaction.ForbiddenDueToTransactionType

事务类型错误,无法处理请求。例如,已进行模式修改的事务不能用于后续数据操作,反之亦然。

Neo.ClientError.Transaction.InvalidBookmark

提供的书签无法解析。您应该只提供之前由 Neo4j 生成的书签。您可能自行生成或修改了 Neo4j 生成的书签。

Neo.ClientError.Transaction.InvalidBookmarkMixture

禁止混合不同数据库生成的书签。您应该只链接来自同一数据库生成的书签。但是,您可以将 system 数据库生成的书签与其他数据库的书签链接起来。

Neo.ClientError.Transaction.LockClientStopped

事务已终止,因此无法再获取锁。这可能是因为事务运行时间超过了配置的事务超时时间,人工操作员手动终止了事务,或者数据库已关闭。

Neo.ClientError.Transaction.Terminated

由用户明确终止。

Neo.ClientError.Transaction.TransactionAccessedConcurrently

存在同时访问同一事务的并发请求,这是不允许的。

Neo.ClientError.Transaction.TransactionHookFailed

事务钩子失败。

Neo.ClientError.Transaction.TransactionMarkedAsFailed

事务被标记为成功和失败。由于失败优先,事务已回滚。

Neo.ClientError.Transaction.TransactionNotFound

该请求引用了一个不存在的事务。

Neo.ClientError.Transaction.TransactionTimedOut

事务未在指定超时时间(db.transaction.timeout)内完成。您可以尝试使用更长的超时时间重试。

Neo.ClientError.Transaction.TransactionTimedOutClientConfiguration

事务未在客户端启动时指定的超时时间内完成。您可以尝试使用更长的超时时间重试。

Neo.ClientError.Transaction.TransactionValidationFailed

事务更改未通过验证检查。

瞬时错误

这是 Neo4j 可能返回的所有瞬时错误的完整列表及其含义。

Neo4j 代码 描述

Neo.TransientError.ChangeDataCapture.FutureIdentifier

变更标识符指向此数据库实例尚未发生的未来事务。

Neo.TransientError.Cluster.ReplicationFailure

复制失败。

Neo.TransientError.General.DatabaseUnavailable

数据库目前无法处理您的请求,请查阅数据库日志获取更多详细信息。稍后重试请求可能会成功。

Neo.TransientError.General.MemoryPoolOutOfMemoryError

内存池限制已超出。相应的设置可在错误消息中找到。

Neo.TransientError.General.OutOfMemoryError

没有足够的内存来执行当前任务。请尝试增加 Neo4j 配置文件(通常在 conf/neo4j.conf 中,如果您使用 Neo4j Desktop,则通过用户界面查找)中的 server.memory.heap.max_size

如果您运行的是嵌入式安装,可以通过使用 -Xmx 命令行标志来增加堆内存,然后重新启动数据库。

Neo.TransientError.General.StackOverFlowError

没有足够的堆栈大小来执行当前任务。这通常被认为是数据库错误,请联系 Neo4j 支持。

您可以尝试增加堆栈大小;例如,将堆栈大小设置为 2M,请在 Neo4j 配置文件(通常在 conf/neo4j.conf 中,如果您使用 Neo4j Desktop,则通过用户界面查找)中添加 server.jvm.additional=-Xss2M

如果您运行的是嵌入式安装,可以添加 -Xss2M 作为命令行标志。

Neo.TransientError.General.TransactionMemoryLimit

没有足够的内存来执行当前任务。请尝试增加 Neo4j 配置文件(通常在 conf/neo4j.conf 中,如果您使用 Neo4j Desktop,则通过用户界面查找)中的 server.memory.off_heap.transaction_max_size,然后重新启动数据库。

Neo.TransientError.Invalid.ResourceExhaustion

服务器已拒绝此请求,因为当前资源已耗尽。您可以稍后重试。有关更多详细信息,请参阅服务器日志。

Neo.TransientError.Request.NoThreadsAvailable

目前没有可用的线程来处理此请求。您可以稍后重试,或考虑增加 Bolt 连接器的最大线程池大小。

Neo.TransientError.Security.AuthProviderFailed

身份验证提供程序请求失败。

Neo.TransientError.Security.AuthProviderTimeout

身份验证提供程序请求超时。

Neo.TransientError.Security.ModifiedConcurrently

用户在此请求的同时被修改。

Neo.TransientError.Statement.ExecutionTimeout

数据库未能及时执行语句。

Neo.TransientError.Statement.RemoteExecutionTransientError

由于瞬时故障,数据库无法执行语句的远程部分。

Neo.TransientError.Transaction.BookmarkTimeout

书签等待超时。数据库未达到指定版本。

Neo.TransientError.Transaction.ConstraintsChanged

自此事务开始以来,数据库约束已更改。

Neo.TransientError.Transaction.DeadlockDetected

此事务和至少一个其他事务以无限期等待的方式获取了锁,数据库已中止它。重试此事务很可能会成功。

Neo.TransientError.Transaction.Interrupted

等待时中断。

Neo.TransientError.Transaction.LeaderSwitch

由于集群主节点切换,请求无法完成。

Neo.TransientError.Transaction.LeaseExpired

此事务开始时的租约不再有效。

Neo.TransientError.Transaction.LockAcquisitionTimeout

未能在配置的超时(db.lock.acquisition.timeout)内获取锁。

Neo.TransientError.Transaction.MaximumTransactionLimitReached

无法启动新事务,因为已达到并发执行事务的最大数量(db.transaction.concurrent.maximum)。您可以稍后重试或考虑增加允许的最大并发事务数。

Neo.TransientError.Transaction.Outdated

事务已看到在事务活动期间被应用更新无效化的状态。如果重试,事务可能会成功。

Neo.TransientError.Transaction.QueryExecutionFailedOnTransaction

事务被标记为失败,因为查询失败。

数据库错误

这是 Neo4j 可能返回的所有数据库错误的完整列表及其含义。

Neo4j 代码 描述

Neo.DatabaseError.ChangeDataCapture.Disabled

当前未为此数据库启用变更数据捕获。

Neo.DatabaseError.ChangeDataCapture.ScanFailure

无法读取此数据库的变更数据捕获数据。

Neo.DatabaseError.Database.DatabaseLimitReached

数据库数量已达到限制。

Neo.DatabaseError.Database.UnableToStartDatabase

无法启动数据库。

Neo.DatabaseError.Database.Unknown

未知的数据库管理错误。

Neo.DatabaseError.Fabric.RemoteExecutionFailed

数据库未能执行语句的远程部分。

Neo.DatabaseError.General.IndexCorruptionDetected

该请求(直接或间接)引用了一个处于失败状态的索引。该索引需要手动删除并重新创建。

Neo.DatabaseError.General.SchemaCorruptionDetected

遇到格式错误的模式规则。请联系您的支持代表。

Neo.DatabaseError.General.StorageDamageDetected

磁盘上未找到预期的文件集。请从备份中恢复。

Neo.DatabaseError.General.UnknownError

发生未知错误。

Neo.DatabaseError.Schema.ConstraintCreationFailed

创建请求的约束失败。

Neo.DatabaseError.Schema.ConstraintDropFailed

数据库未能删除请求的约束。

Neo.DatabaseError.Schema.IndexCreationFailed

创建索引失败。

Neo.DatabaseError.Schema.IndexDropFailed

数据库未能删除请求的索引。

Neo.DatabaseError.Schema.LabelAccessFailed

该请求访问了一个不存在的标签。

Neo.DatabaseError.Schema.PropertyKeyAccessFailed

该请求访问了一个不存在的属性。

Neo.DatabaseError.Schema.RelationshipTypeAccessFailed

该请求访问了一个不存在的关系类型。

Neo.DatabaseError.Schema.SchemaRuleAccessFailed

该请求引用了一个不存在的模式规则。

Neo.DatabaseError.Schema.SchemaRuleDuplicateFound

该请求引用了一个被多次定义的模式规则。

Neo.DatabaseError.Schema.TokenLimitReached

已达到此类令牌的最大数量,无法再创建此类令牌。

Neo.DatabaseError.Statement.ExecutionFailed

数据库未能执行该语句。

Neo.DatabaseError.Statement.RemoteExecutionFailed

数据库未能执行语句的远程部分。

Neo.DatabaseError.Transaction.LinkedTransactionError

事务被终止,因为执行相同查询的另一个事务遇到了错误。

Neo.DatabaseError.Transaction.TransactionCommitFailed

数据库未能提交事务。

Neo.DatabaseError.Transaction.TransactionLogError

数据库未能将事务写入日志。

Neo.DatabaseError.Transaction.TransactionRollbackFailed

数据库未能回滚事务。

Neo.DatabaseError.Transaction.TransactionStartFailed

数据库未能启动事务。

Neo.DatabaseError.Transaction.TransactionTerminationFailed

数据库未能终止事务。

© . All rights reserved.