“3275c1b4b5c2b04a4963764cc9c10e19b18fc721”上不存在“ppdet/git@gitcode.net:s920243400/PaddleDetection.git”
提交 a39e9b7a 编写于 作者: Q qing

kv-errcode-monthly

Signed-off-by: Nqing <yangqing89@huawei.com>
上级 30efe996
...@@ -6,15 +6,15 @@ ...@@ -6,15 +6,15 @@
## 接口说明 ## 接口说明
分布式数据相关功能接口请见[分布式数据管理](../reference/apis/js-apis-distributed-data.md)
分布式数据相关功能接口请见[分布式键值数据库](../reference/apis/js-apis-distributedKVStore.md)
**表1** 分布式数据服务关键API功能介绍 **表1** 分布式数据服务关键API功能介绍
| 接口名称 | 描述 | | 接口名称 | 描述 |
| ------------------------------------------------------------ | ----------------------------------------------- | | ------------------------------------------------------------ | ------------------------------------------------------------ |
| createKVManager(config: KVManagerConfig, callback: AsyncCallback&lt;KVManager&gt;): void<br/>createKVManager(config: KVManagerConfig): Promise&lt;KVManager> | 创建一个`KVManager`对象实例,用于管理数据库对象。 | | createKVManager(config: KVManagerConfig, callback: AsyncCallback&lt;KVManager&gt;): void<br/>createKVManager(config: KVManagerConfig): Promise&lt;KVManager> | 创建一个`KVManager`对象实例,用于管理数据库对象。 |
| getKVStore&lt;TextendsKVStore&gt;(storeId: string, options: Options, callback: AsyncCallback&lt;T&gt;): void<br/>getKVStore&lt;TextendsKVStore&gt;(storeId: string, options: Options): Promise&lt;T&gt; | 指定`Options``storeId`,创建并获取`KVStore`数据库。 | | getKVStore&lt;TextendsKVStore&gt;(storeId: string, options: Options, callback: AsyncCallback&lt;T&gt;): void<br/>getKVStore&lt;TextendsKVStore&gt;(storeId: string, options: Options): Promise&lt;T&gt; | 指定`Options``storeId`,创建并获取指定类型`KVStore`数据库。 |
| put(key: string, value: Uint8Array\|string\|number\|boolean, callback: AsyncCallback&lt;void&gt;): void<br/>put(key: string, value: Uint8Array\|string\|number\|boolean): Promise&lt;void> | 插入和更新数据。 | | put(key: string, value: Uint8Array\|string\|number\|boolean, callback: AsyncCallback&lt;void&gt;): void<br/>put(key: string, value: Uint8Array\|string\|number\|boolean): Promise&lt;void> | 插入和更新数据。 |
| delete(key: string, callback: AsyncCallback&lt;void&gt;): void<br/>delete(key: string): Promise&lt;void> | 删除数据。 | | delete(key: string, callback: AsyncCallback&lt;void&gt;): void<br/>delete(key: string): Promise&lt;void> | 删除数据。 |
| get(key: string, callback: AsyncCallback&lt;Uint8Array\|string\|boolean\|number&gt;): void<br/>get(key: string): Promise&lt;Uint8Array\|string\|boolean\|number> | 查询数据。 | | get(key: string, callback: AsyncCallback&lt;Uint8Array\|string\|boolean\|number&gt;): void<br/>get(key: string): Promise&lt;Uint8Array\|string\|boolean\|number> | 查询数据。 |
...@@ -28,8 +28,9 @@ ...@@ -28,8 +28,9 @@
1. 导入模块。 1. 导入模块。
```js ```js
import distributedData from '@ohos.data.distributedData'; import distributedKVStore from '@ohos.data.distributedKVStore';
``` ```
2. 请求权限(同步操作时进行该步骤)。 2. 请求权限(同步操作时进行该步骤)。
需要在`config.json`文件里进行配置请求权限(FA模型),示例代码如下: 需要在`config.json`文件里进行配置请求权限(FA模型),示例代码如下:
...@@ -45,6 +46,7 @@ ...@@ -45,6 +46,7 @@
} }
} }
``` ```
Stage模型下的权限请求请参见[权限声明-Stage模型](../security/accesstoken-guidelines.md#stage模型) Stage模型下的权限请求请参见[权限声明-Stage模型](../security/accesstoken-guidelines.md#stage模型)
这个权限还需要在应用首次启动的时候弹窗获取用户授权,可以通过如下代码实现: 这个权限还需要在应用首次启动的时候弹窗获取用户授权,可以通过如下代码实现:
...@@ -113,22 +115,18 @@ ...@@ -113,22 +115,18 @@
try { try {
const kvManagerConfig = { const kvManagerConfig = {
bundleName: 'com.example.datamanagertest', bundleName: 'com.example.datamanagertest',
userInfo: {
context:context, context:context,
userId: '0',
userType: distributedData.UserType.SAME_USER_ID
}
} }
distributedData.createKVManager(kvManagerConfig, function (err, manager) { distributedKVStore.createKVManager(kvManagerConfig, function (err, manager) {
if (err) { if (err) {
console.log('createKVManager err: ${error}'); console.error(`Fail to createKVManager.code is ${err.code},message is ${err.message}`);
return; return;
} }
console.log('createKVManager success'); console.log('Succeeded in creating KVManager');
kvManager = manager; kvManager = manager;
}); });
} catch (e) { } catch (e) {
console.log('An unexpected error occurred. Error: ${e}'); console.error(`An unexpected error occurred.code is ${e.code},message is ${e.message}`);
} }
``` ```
...@@ -147,19 +145,19 @@ ...@@ -147,19 +145,19 @@
encrypt: false, encrypt: false,
backup: false, backup: false,
autoSync: false, autoSync: false,
kvStoreType: distributedData.KVStoreType.SINGLE_VERSION, kvStoreType: distributedKVStore.KVStoreType.SINGLE_VERSION,
securityLevel: distributedData.SecurityLevel.S0 securityLevel: distributedKVStore.SecurityLevel.S1
}; };
kvManager.getKVStore('storeId', options, function (err, store) { kvManager.getKVStore('storeId', options, function (err, store) {
if (err) { if (err) {
console.log('getKVStore err: ${err}'); console.error(`Fail to get KVStore: code is ${err.code},message is ${err.message}`);
return; return;
} }
console.log('getKVStore success'); console.log('Succeeded in getting KVStore');
kvStore = store; kvStore = store;
}); });
} catch (e) { } catch (e) {
console.log('An unexpected error occurred. Error: ${e}'); console.error(`An unexpected error occurred.code is ${e.code},message is ${e.message}`);
} }
``` ```
...@@ -172,9 +170,13 @@ ...@@ -172,9 +170,13 @@
以下为订阅单版本分布式数据库数据变化通知的代码示例: 以下为订阅单版本分布式数据库数据变化通知的代码示例:
```js ```js
kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_ALL, function (data) { try{
console.log("dataChange callback call data: ${data}"); kvStore.on('dataChange', distributedKVStore.SubscribeType.SUBSCRIBE_TYPE_ALL, function (data) {
console.log(`dataChange callback call data: ${data}`);
}); });
}catch(e){
console.error(`An unexpected error occured.code is ${e.code},message is ${e.message}`);
}
``` ```
6. 将数据写入分布式数据库。 6. 将数据写入分布式数据库。
...@@ -188,15 +190,15 @@ ...@@ -188,15 +190,15 @@
const KEY_TEST_STRING_ELEMENT = 'key_test_string'; const KEY_TEST_STRING_ELEMENT = 'key_test_string';
const VALUE_TEST_STRING_ELEMENT = 'value-test-string'; const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
try { try {
kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, function (err, data) { kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, function (err,data) {
if (err != undefined) { if (err != undefined) {
console.log('put err: ${error}'); console.error(`Fail to put.code is ${err.code},message is ${err.message}`);
return; return;
} }
console.log('put success'); console.log("Succeeded in putting");
}); });
} catch (e) { }catch (e) {
console.log('An unexpected error occurred. Error: ${e}'); console.error(`An unexpected error occurred.code is ${e.code},message is ${e.message}`);
} }
``` ```
...@@ -211,18 +213,22 @@ ...@@ -211,18 +213,22 @@
const KEY_TEST_STRING_ELEMENT = 'key_test_string'; const KEY_TEST_STRING_ELEMENT = 'key_test_string';
const VALUE_TEST_STRING_ELEMENT = 'value-test-string'; const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
try { try {
kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, function (err, data) { kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, function (err,data) {
if (err != undefined) { if (err != undefined) {
console.log('put err: ${error}'); console.error(`Fail to put.code is ${err.code},message is ${err.message}`);
return; return;
} }
console.log('put success'); console.log("Succeeded in putting");
kvStore.get(KEY_TEST_STRING_ELEMENT, function (err, data) { kvStore.get(KEY_TEST_STRING_ELEMENT, function (err,data) {
console.log('get success data: ${data}'); if (err != undefined) {
console.error(`Fail to get.code is ${err.code},message is ${err.message}`);
return;
}
console.log(`Succeeded in getting data:${data}`);
}); });
}); });
} catch (e) { }catch (e) {
console.log('An unexpected error occurred. Error: ${e}'); console.error(`Fail to get.code is ${e.code},message is ${e.message}`);
} }
``` ```
...@@ -254,20 +260,21 @@ ...@@ -254,20 +260,21 @@
} }
try{ try{
// 1000表示最大延迟时间为1000ms // 1000表示最大延迟时间为1000ms
kvStore.sync(deviceIds, distributedData.SyncMode.PUSH_ONLY, 1000); kvStore.sync(deviceIds, distributedKVStore.SyncMode.PUSH_ONLY, 1000);
} catch (e) { } catch (e) {
console.log('An unexpected error occurred. Error: ${e}'); console.error(`An unexpected error occurred. code is ${e.code},message is ${e.message}`);
} }
} }
}); });
``` ```
## 相关实例 ## 相关实例
针对分布式数据开发,有以下相关实例可供参考: 针对分布式数据开发,有以下相关实例可供参考:
- [`DistributedCalc`:分布式计算器(JS)(API8)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/master/common/DistributeCalc) - [`DistributedCalc`:分布式计算器(JS)(API8)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/master/common/DistributeCalc)
- [`DistributedCalc`:分布式计算器(ArkTS)(API8)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/master/Preset/DistributeCalc) - [`DistributedCalc`:分布式计算器(eTS)(API8)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/master/Preset/DistributeCalc)
- [`DistributedDataGobang`:分布式五子棋(ArkTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/master/data/DistributedDataGobang) - [`DistributedDataGobang`:分布式五子棋(eTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/master/data/DistributedDataGobang)
- [`DDMQuery`:结果集与谓词(ArkTS)(API8)](https://gitee.com/openharmony/applications_app_samples/tree/master/data/DDMQuery) - [`DDMQuery`:结果集与谓词(eTS)(API8)](https://gitee.com/openharmony/applications_app_samples/tree/master/data/DDMQuery)
- [`KvStore`:分布式数据库(ArkTS)(API8)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/master/data/Kvstore) - [`KvStore`:分布式数据库(eTS)(API8)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/master/data/Kvstore)
- [分布式数据库(JS)(API8)](https://gitee.com/openharmony/codelabs/tree/master/Data/JsDistributedData) - [分布式数据库(JS)(API8)](https://gitee.com/openharmony/codelabs/tree/master/Data/JsDistributedData)
\ No newline at end of file
...@@ -63,7 +63,6 @@ ...@@ -63,7 +63,6 @@
- [@ohos.commonEvent (公共事件模块)](js-apis-commonEvent.md) - [@ohos.commonEvent (公共事件模块)](js-apis-commonEvent.md)
- [@ohos.events.emitter (Emitter)](js-apis-emitter.md) - [@ohos.events.emitter (Emitter)](js-apis-emitter.md)
- [@ohos.notification (Notification模块)](js-apis-notification.md) - [@ohos.notification (Notification模块)](js-apis-notification.md)
- [@ohos.reminderAgent (后台代理提醒)](js-apis-reminderAgent.md)
- application/[EventHub (EventHub)](js-apis-eventhub.md) - application/[EventHub (EventHub)](js-apis-eventhub.md)
- 应用程序包管理 - 应用程序包管理
- [@ohos.bundle (Bundle模块)](js-apis-Bundle.md) - [@ohos.bundle (Bundle模块)](js-apis-Bundle.md)
...@@ -120,6 +119,7 @@ ...@@ -120,6 +119,7 @@
- 资源调度 - 资源调度
- [@ohos.backgroundTaskManager (后台任务管理)](js-apis-backgroundTaskManager.md) - [@ohos.backgroundTaskManager (后台任务管理)](js-apis-backgroundTaskManager.md)
- [@ohos.distributedMissionManager (分布式任务管理)](js-apis-distributedMissionManager.md) - [@ohos.distributedMissionManager (分布式任务管理)](js-apis-distributedMissionManager.md)
- [@ohos.reminderAgentManager (后台代理提醒)](js-apis-reminderAgentManager.md)
- [@ohos.workScheduler (延迟任务调度)](js-apis-workScheduler.md) - [@ohos.workScheduler (延迟任务调度)](js-apis-workScheduler.md)
- [@ohos.WorkSchedulerExtensionAbility (延迟任务调度回调)](js-apis-WorkSchedulerExtensionAbility.md) - [@ohos.WorkSchedulerExtensionAbility (延迟任务调度回调)](js-apis-WorkSchedulerExtensionAbility.md)
- 定制管理 - 定制管理
...@@ -140,8 +140,8 @@ ...@@ -140,8 +140,8 @@
- [@ohos.data.dataShare (数据共享)](js-apis-data-dataShare.md) - [@ohos.data.dataShare (数据共享)](js-apis-data-dataShare.md)
- [@ohos.data.dataSharePredicates (数据共享谓词)](js-apis-data-dataSharePredicates.md) - [@ohos.data.dataSharePredicates (数据共享谓词)](js-apis-data-dataSharePredicates.md)
- [@ohos.data.dataShareResultSet (数据共享结果集)](js-apis-data-DataShareResultSet.md) - [@ohos.data.dataShareResultSet (数据共享结果集)](js-apis-data-DataShareResultSet.md)
- [@ohos.data.distributedData (分布式数据管理)](js-apis-distributed-data.md)
- [@ohos.data.distributedDataObject (分布式数据对象)](js-apis-data-distributedobject.md) - [@ohos.data.distributedDataObject (分布式数据对象)](js-apis-data-distributedobject.md)
- [@ohos.data.distributedKVStore (分布式键值数据库)](js-apis-distributedKVStore.md)
- [@ohos.data.preferences (首选项)](js-apis-data-preferences.md) - [@ohos.data.preferences (首选项)](js-apis-data-preferences.md)
- [@ohos.data.rdb (关系型数据库)](js-apis-data-rdb.md) - [@ohos.data.rdb (关系型数据库)](js-apis-data-rdb.md)
- [@ohos.data.ValuesBucket (数据集)](js-apis-data-ValuesBucket.md) - [@ohos.data.ValuesBucket (数据集)](js-apis-data-ValuesBucket.md)
...@@ -208,8 +208,8 @@ ...@@ -208,8 +208,8 @@
- [@ohos.systemTime (系统时间、时区)](js-apis-system-time.md) - [@ohos.systemTime (系统时间、时区)](js-apis-system-time.md)
- [@ohos.systemTimer(系统定时器)](js-apis-system-timer.md) - [@ohos.systemTimer(系统定时器)](js-apis-system-timer.md)
- [@ohos.wallpaper (壁纸)](js-apis-wallpaper.md) - [@ohos.wallpaper (壁纸)](js-apis-wallpaper.md)
- [@ohos.web.webview(Web)](js-apis-webview.md)
- [Timer (定时器)](js-apis-timer.md) - [Timer (定时器)](js-apis-timer.md)
- 设备管理 - 设备管理
- [@ohos.batteryInfo (电量信息)](js-apis-battery-info.md) - [@ohos.batteryInfo (电量信息)](js-apis-battery-info.md)
...@@ -270,7 +270,9 @@ ...@@ -270,7 +270,9 @@
- 已停止维护的接口 - 已停止维护的接口
- [@ohos.bytrace (性能打点)](js-apis-bytrace.md) - [@ohos.bytrace (性能打点)](js-apis-bytrace.md)
- [@ohos.data.storage (轻量级存储)](js-apis-data-storage.md) - [@ohos.data.storage (轻量级存储)](js-apis-data-storage.md)
- [@ohos.data.distributedData (分布式数据管理)](js-apis-distributed-data.md)
- [@ohos.prompt (弹窗)](js-apis-prompt.md) - [@ohos.prompt (弹窗)](js-apis-prompt.md)
- [@ohos.reminderAgent (后台代理提醒)](js-apis-reminderAgent.md)
- [@system.app (应用上下文)](js-apis-system-app.md) - [@system.app (应用上下文)](js-apis-system-app.md)
- [@system.battery (电量信息)](js-apis-system-battery.md) - [@system.battery (电量信息)](js-apis-system-battery.md)
- [@system.bluetooth (蓝牙)](js-apis-system-bluetooth.md) - [@system.bluetooth (蓝牙)](js-apis-system-bluetooth.md)
......
# 分布式键值数据库错误码
## 15100001 超过最大订阅数量
### 错误信息
Over max subscribe limits.
### 错误描述
该错误码表示在调用数据库变化订阅on接口时,订阅数量已超过最大限制。
### 可能原因
在调用订阅数据库变化接口时,对数据库的订阅数量已超过最大限制。
### 处理步骤
取消对数据库的部分订阅后,再次尝试订阅。
## 15100002 打开已有数据库时参数配置发生变化
### 错误信息
Open existed database with changed options.
### 错误描述
该错误码表示在调用getKVStore接口打开已创建的数据库时,options配置参数发生变化。
### 可能原因
打开已创建的数据库时,options参数配置发生了变化,可能原因如下:
1. 期望新建数据库时,使用了已创建过的数据库名称storeId。
2. 期望改变已创建数据库的options参数配置。
### 处理步骤
1. 新建数据库前,请检查数据库名称storeId不与已创建数据库的storeId重名。
2. 期望改变已创建数据库的options参数配置时,当前不支持该操作,请自行删除数据库后使用新的options参数重新创建。
## 15100003 数据库损坏
### 错误信息
Database corrupted.
### 错误描述
该错误码表示在调用数据库增、删、查、数据同步等接口时,数据库已损坏。
### 可能原因
调用数据库增、删、查、数据同步等接口操作数据库时,数据库文件已损坏。
### 处理步骤
1. 如果之前备份过数据库,可尝试使用已备份的数据库文件恢复数据库。
2. 如果之前没有备份过数据库,可尝试删除数据库后重新创建。
## 15100004 未找到相关数据
### 错误信息
Not found.
### 错误描述
该错误码表示在调用数据库deleteKVStore、delete、deleteBatch、get等接口时,未找到相关数据。
### 可能原因
在调用删除数据库、数据查询、数据删除等接口时未找到相关数据,可能原因如下。
1. 删除数据库操作时,数据库不存在或已删除。
2. 数据库数据查询操作时,相关数据不存在或已删除。
3. 数据库数据删除操作时,相关数据不存在或已删除。
### 处理步骤
1. 在删除数据库操作前,请检查数据库名称是否正确或是否重复删除。
2. 在数据库数据查询操作前,请检查查询关键字是否正确。
3. 在数据库数据删除操作前,请检查删除关键字是否正确或是否重复删除。
## 15100005 不支持当前操作
### 错误信息
Not support the operation.
### 错误描述
该错误码表示在调用数据库backup、restore等接口时,当前数据库不支持该操作。
### 可能原因
在调用数据库备份、恢复等接口时,当前数据库不支持该操作。
### 处理步骤
检查当前数据库是否支持备份、恢复操作。
## 15100006 数据库或查询结果集已关闭
### 错误信息
Database or result set already closed.
### 错误描述
该错误码表示在调用数据库或查询结果集相关接口时,数据库或查询结果集为关闭状态。
### 可能原因
在数据库或查询结果集操作前,已经手动关闭了数据库或查询结果集。
### 处理步骤
1. 在数据库相关操作前,请重新打开数据库之后再重试当前操作。
2. 在查询结果集相关操作前,请重新查询获取结果集之后再重试当前操作。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册