• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 数据管理开发常见问题
2
3## 如何将PixelMap的数据存储到数据库中。
4
5适用于:OpenHarmony SDK 3.2.3.5版本
6
7PixelMap应该被转换成相应的ArrayBuffer再放进数据库。
8
9参考文档:[readPixelsToBuffer](../reference/apis/js-apis-image.md#readpixelstobuffer7-1)
10
11## 如何获取rdb关系型数据库文件
12
13适用于:OpenHarmony SDK 3.2.3.5版本,API9 Stage模型
14
15开发者可使用hdc_std命令拷贝文件,其中文件路径为: /data/app/el2/100/database/包名/entry/db/ ,然后拷贝该路径下后缀为 .db、.db-shm、.db-wal的文件,拷贝完成后,可以通过SQLite工具打开该数据库文件。
16
17示例:
18
19
20```
21 hdc_std file recv /data/app/el2/100/database/com.xxxx.xxxx/entry/db/test.db ./test.db
22```
23
24## 数据库在系统层面是否有锁机制,开发过程中是否需要关系数据库加锁问题
25
26适用于:OpenHarmony SDK 3.2.5.5版本,API9 Stage模型
27
28系统提供的分布式数据服务、关系型数据库和首选项均有锁机制,开发者无需关注。
29
30## 数据库中加事务与不加事务的区别?
31
32适用于:所有版本
33
34在rdb中进行数据操作时,有可能会导致操作失败,出现意料之外的情况。当对数据库进行大量操作时,此种情况会导致部分数据操作失败,部分操作成功,导致部分数据丢失,可能会导致应用程序发生异常甚至崩溃。加事务后,则会将某一批操作组合成一个整体,要么同时成功,要么同时失败,则不会导致强关联的数据部分缺失的情况出现。
35
36## 关系型数据库rdb支持哪些数据类型?
37
38适用于:OpenHarmony SDK 3.0版本以上,API9 Stage模型
39
40关系型数据库rdb支持的数据类型有:number、string、boolean。其中number为数组类型,支持Double,Long,Float,Int,Int64,最大精度为十进制17位数字。
41
42## 如何查看数据库db文件
43
44适用于:OpenHarmony SDK 3.2.6.5版本,API9 Stage模型
45
461. 执行 hdc_std shell 命令进入系统
47
482. 找到绝对路径:/data/app/el2/<userId默认是100>/database/<bundleName>
49   或找到沙箱路径:
50
51   a. 执行 ps -ef | grep hapName 命令找到对应应用的进程ID,
52
53   b. 数据库沙箱路径为:/proc/<应用进程ID>/root/data/storage/el2/database/。
54
553. 在数据库的绝对路径或者沙箱路径下执行 find ./ -name "\*.db" 即可找到数据库文件。
56
57## 如何存储长文本数据
58
59适用于:OpenHarmony SDK 3.2.5.5版本,API 9
60
61- 首选项Preferences数据中的Value为string类型时最大支持8192字节。
62
63- 分布式数据管理KV数据模型Value最大支持4M。
64
65参考文档:[首选项概述](../database/database-preference-overview.md)、[分布式数据服务概述](../database/database-mdds-overview.md)
66
67## Stage模型数据共享DataShare开发
68
69适用于:OpenHarmony SDK 3.2.5.5版本,API 9
70
71Stage模型DataShare不可与FA模型DataAbility混用,连接的服务端应用需使用DataShareExtensionAbility实现。
72
73参考文档:[数据共享开发指导](../database/database-datashare-guidelines.md)
74