为了帮助开发人员更迅速地识别错误类型、定位和处理问题,我们整理了 DolphinDB Server 中的异常以及关键错误信息,总结出了一份 DolphinDB 数据库错误代码列表。当发生报错时,参考错误代码列表,就可以了解当前问题产生的原因。
错误代码一览
目前,我们已为大家整理了上百个错误代码以及对应的错误原因。错误代码会随着每一次版本发布而更新,收藏官网文档,方便查看更新内容。
S00001:发布、订阅或取消订阅流数据表前,未进行相关配置
S00002:当前分区分布式锁已被占用
S00003:一个表的一个 SYMBOL 字段的不同取值超过了2^21(2.097.152)个
S00004:Server 创建套接字失败
S01001:分区方式为 VALUE 的分区列数据中含有空值
S01002:使用 addRangePartitions 添加新分区时,newRanges 字段的范围可能与数据库中已有的分区范围重叠
S01003:当前分区为构建状态,不可删除
S01004:新增 chunk 时,选择有同样分区的其他 chunk 所在的节点数少于副本数
S02000:unpivot 函数的 valueColNames 参数中各列的数据类型未保持一致
S02001:SQL 语句的 select 子句(以及 group by 子句,如果有)存在列名重复的列
S02002:saveText 函数的第一个参数是 SQL 元代码,执行时对应的 SQL 语句无法拆分成多个子查询
S02003:inputTables 的参数形式不合规
S03000:无法用 undef 函数取消一个流表变量的定义
S03001:创建流引擎时重名
S03002:使用 subscribeTable 函数进行订阅时,订阅主题 topic 重复
S03003:尝试用 dropStreamTable 函数或者 drop 语句取消一个流表变量的定义时失败
S04001:设置权限 grant 的对象如果是库或者表时不存在
S04002:当使用 VIEW_EXEC 对某个用户设置某个函数视图的执行权限时,该函数视图不存在
S04003:当对某用户设置 DB_OWNER 权限时,对应的权限字符串格式非法
S04004:设置权限时的用户为非 admin 用户,且设置了不包含某些列表的权限
S05000:参与求逆的矩阵是奇异的(或称为非可逆的)
S05001:使用下标访问集合,或者使用 for 遍历集合
S05003:DECIMAL 内部的整型参与运算时,结果超出可表示范围
S05004:数据写入列时,数据类型不兼容
S06000:SQL update 语句不符合语法规范
S06001:当调用包含多个参数的函数时,传参时如果一个参数指定了 keyword,其后的参数未指定 keyword
S06002:函数定义中使用了 share 语句
S06003:在命名函数定义里再嵌套定义命名函数
解读错误代码
DolphinDB 数据库错误代码由三部分构成:S + <与系统模块相关的错误类别码> + <类别下编码>
以 S01005 为例:
·S:代表 Server
·01:代表错误发生在存储模块下
·005:代表存储错误类别下属的 005 错误
目前,DolphinDB 数据库错误代码列表涵盖了如下七种类别:
除了提供列表方便自查,我们还总结了与错误代码同时出现的报错信息,以及对应的解决方法。由于篇幅有限,请前往 DolphinDB 官网文档,查看错误代码的完整手册~