1# relational_store_error_code.h 2<!--Kit: ArkData--> 3<!--Subsystem: DistributedDataManager--> 4<!--Owner: @baijidong--> 5<!--Designer: @widecode; @htt1997--> 6<!--Tester: @yippo; @logic42--> 7<!--Adviser: @ge-yafang--> 8 9## 概述 10 11声明关系型数据库(RDB)的错误码信息。 12 13**引用文件:** <database/rdb/relational_store_error_code.h> 14 15**库:** libnative_rdb_ndk.z.so 16 17**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 18 19**起始版本:** 10 20 21**相关模块:** [RDB](capi-rdb.md) 22 23## 汇总 24 25### 枚举 26 27| 名称 | typedef关键字 | 描述 | 28| --------------------------------- | -------------- | ---------------- | 29| [OH_Rdb_ErrCode](#oh_rdb_errcode) | OH_Rdb_ErrCode | 表示错误码信息。 | 30 31## 枚举类型说明 32 33### OH_Rdb_ErrCode 34 35``` 36enum OH_Rdb_ErrCode 37``` 38 39**描述** 40 41表示错误码信息。 42 43**起始版本:** 10 44 45| 枚举项 | 描述 | 46| ------------------------------------------------------------ | ----------------------------------------------------------- | 47| RDB_ERR = -1 | 执行出错。 | 48| RDB_OK = 0 | 执行成功。 | 49| E_BASE = 14800000 | 异常错误代码的基础。 | 50| RDB_E_NOT_SUPPORTED = 801 | RDB不具备该能力。 | 51| RDB_E_ERROR = E_BASE | 常见异常的错误代码。 | 52| RDB_E_INVALID_ARGS = (E_BASE + 1) | 参数非法。 | 53| RDB_E_CANNOT_UPDATE_READONLY = (E_BASE + 2) | 更新只读数据库。 | 54| RDB_E_REMOVE_FILE = (E_BASE + 3) | 删除文件失败。 | 55| RDB_E_EMPTY_TABLE_NAME = (E_BASE + 5) | 表名为空。 | 56| RDB_E_EMPTY_VALUES_BUCKET = (E_BASE + 6) | 键值对内容为空。 | 57| RDB_E_EXECUTE_IN_STEP_QUERY = (E_BASE + 7) | 查询时执行的SQL语句错误。 | 58| RDB_E_INVALID_COLUMN_INDEX = (E_BASE + 8) | 列索引非法。 | 59| RDB_E_INVALID_COLUMN_TYPE = (E_BASE + 9) | 列类型非法。 | 60| RDB_E_EMPTY_FILE_NAME = (E_BASE + 10) | 文件名称为空。 | 61| RDB_E_INVALID_FILE_PATH = (E_BASE + 11) | 文件路径非法。 | 62| RDB_E_TRANSACTION_IN_EXECUTE = (E_BASE + 12) | 开启事务执行出错。 | 63| RDB_E_INVALID_STATEMENT = (E_BASE + 13) | SQL语句预编译出错。 | 64| RDB_E_EXECUTE_WRITE_IN_READ_CONNECTION = (E_BASE + 14) | 在读连接中执行写操作。 | 65| RDB_E_BEGIN_TRANSACTION_IN_READ_CONNECTION = (E_BASE + 15) | 在读连接中开启事务。 | 66| RDB_E_NO_TRANSACTION_IN_SESSION = (E_BASE + 16) | 在数据库会话中不存在开启的事务。 | 67| RDB_E_MORE_STEP_QUERY_IN_ONE_SESSION = (E_BASE + 17) | 在一个数据库会话中执行多次查询。 | 68| RDB_E_NO_ROW_IN_QUERY = (E_BASE + 18) | 查询得到的结果集不存在任何记录。 | 69| RDB_E_INVALID_BIND_ARGS_COUNT = (E_BASE + 19) | SQL语句中绑定的参数个数非法。 | 70| RDB_E_INVALID_OBJECT_TYPE = (E_BASE + 20) | 对象类型非法。 | 71| RDB_E_INVALID_CONFLICT_FLAG = (E_BASE + 21) | 冲突解决类型非法。 | 72| RDB_E_HAVING_CLAUSE_NOT_IN_GROUP_BY = (E_BASE + 22) | HAVING关键字只能用于GROUP BY之后. | 73| RDB_E_NOT_SUPPORTED_BY_STEP_RESULT_SET = (E_BASE + 23) | 不支持step形式数据库结果集。 | 74| RDB_E_STEP_RESULT_SET_CROSS_THREADS = (E_BASE + 24) | 结果集查询出错。 | 75| RDB_E_STEP_RESULT_QUERY_NOT_EXECUTED = (E_BASE + 25) | 结果集查询语句未被执行。 | 76| RDB_E_STEP_RESULT_IS_AFTER_LAST = (E_BASE + 26) | 结果集的游标已经处于最后一行。 | 77| RDB_E_STEP_RESULT_QUERY_EXCEEDED = (E_BASE + 27) | 结果集查询次数已经超过上限。 | 78| RDB_E_STATEMENT_NOT_PREPARED = (E_BASE + 28) | SQL语句未被预编译。 | 79| RDB_E_EXECUTE_RESULT_INCORRECT = (E_BASE + 29) | 数据库执行结果异常。 | 80| RDB_E_STEP_RESULT_CLOSED = (E_BASE + 30) | 结果集已经关闭。 | 81| RDB_E_RELATIVE_PATH = (E_BASE + 31) | 相对路径。 | 82| RDB_E_EMPTY_NEW_ENCRYPT_KEY = (E_BASE + 32) | 新的密钥文件为空。 | 83| RDB_E_CHANGE_UNENCRYPTED_TO_ENCRYPTED = (E_BASE + 33) | 将非加密的数据库更改为加密数据库。 | 84| RDB_E_CHANGE_ENCRYPT_KEY_IN_BUSY = (E_BASE + 34) | 在数据库繁忙时更新数据库密钥。 | 85| RDB_E_STEP_STATEMENT_NOT_INIT = (E_BASE + 35) | 预编译的SQL语句未被初始化。 | 86| RDB_E_NOT_SUPPORTED_ATTACH_IN_WAL_MODE = (E_BASE + 36) | 在WAL日志模式下不支持ATTACH操作。 | 87| RDB_E_CREATE_FOLDER_FAIL = (E_BASE + 37) | 创建文件夹失败。 | 88| RDB_E_SQLITE_SQL_BUILDER_NORMALIZE_FAIL = (E_BASE + 38) | SQL语句构建失败。 | 89| RDB_E_STORE_SESSION_NOT_GIVE_CONNECTION_TEMPORARILY = (E_BASE + 39) | 数据库会话暂未提供连接。 | 90| RDB_E_STORE_SESSION_NO_CURRENT_TRANSACTION = (E_BASE + 40) | 数据库会话不具有当前的事务。 | 91| RDB_E_NOT_SUPPORT = (E_BASE + 41) | 不支持当前操作。 | 92| RDB_E_INVALID_PARCEL = (E_BASE + 42) | 当前PARCEL非法。 | 93| RDB_E_QUERY_IN_EXECUTE = (E_BASE + 43) | 执行query查询出错。 | 94| RDB_E_SET_PERSIST_WAL = (E_BASE + 44) | 设置WAL模式下数据库文件的持久化时出错。 | 95| RDB_E_DB_NOT_EXIST = (E_BASE + 45) | 数据库不存在。 | 96| RDB_E_ARGS_READ_CON_OVERLOAD = (E_BASE + 46) | 设置的读连接数大于上限。 | 97| RDB_E_WAL_SIZE_OVER_LIMIT = (E_BASE + 47) | WAL日志文件大小超过默认值。 | 98| RDB_E_CON_OVER_LIMIT = (E_BASE + 48) | 数据库连接数已用完。 | 99| RDB_E_ALREADY_CLOSED = (E_BASE + 50) | 数据库已关闭。<br>**起始版本:** 18 | 100| RDB_E_DATABASE_BUSY = (E_BASE + 51) | 数据库无响应。<br>**起始版本:** 18 | 101| RDB_E_SQLITE_CORRUPT = (E_BASE + 52) | 数据库损坏。<br>**起始版本:** 18 | 102| RDB_E_SQLITE_PERM = (E_BASE + 53) | SQLite错误码:访问权限被拒绝。<br>**起始版本:** 18 | 103| RDB_E_SQLITE_BUSY = (E_BASE + 54) | SQLite错误码:数据库文件被锁定。<br>**起始版本:** 18 | 104| RDB_E_SQLITE_LOCKED = (E_BASE + 55) | SQLite错误码:数据库中的表被锁定。<br>**起始版本:** 18 | 105| RDB_E_SQLITE_NOMEM = (E_BASE + 56) | SQLite错误码:数据库内存不足。<br>**起始版本:** 18 | 106| RDB_E_SQLITE_READONLY = (E_BASE + 57) | SQLite错误码:尝试写入只读数据库。<br>**起始版本:** 18 | 107| RDB_E_SQLITE_IOERR = (E_BASE + 58) | SQLite错误码:磁盘I/O错误。<br>**起始版本:** 18 | 108| RDB_E_SQLITE_FULL = (E_BASE + 59) | SQLite错误码:数据库已满。<br>**起始版本:** 18 | 109| RDB_E_SQLITE_CANT_OPEN = (E_BASE + 60) | SQLite错误码:无法打开数据库文件。<br>**起始版本:** 18 | 110| RDB_E_SQLITE_TOO_BIG = (E_BASE + 61) | SQLite错误码:TEXT或BLOB超出大小限制。<br>**起始版本:** 18 | 111| RDB_E_SQLITE_MISMATCH = (E_BASE + 62) | SQLite错误码:数据类型不匹配。<br>**起始版本:** 18 | 112| RDB_E_DATA_TYPE_NULL = (E_BASE + 63) | 表示存储数据为空。<br>**起始版本:** 18 | 113| RDB_E_TYPE_MISMATCH = (E_BASE + 64) | 表示数据类型不匹配。<br>**起始版本:** 18 | 114| RDB_E_SQLITE_CONSTRAINT = (E_BASE + 65) | 表示SQLite错误码:SQLite约束。<br>**起始版本:** 18 | 115 116