jacke_he 发表于 2022-7-29 09:08:14

SQLite 锁定问题

本帖最后由 jacke_he 于 2022-8-3 11:55 编辑

在设计器环境下工作, 正常只有我一个人工作, 但发现部分数据库更新没有,查询一堆这种locked, 是否有什么设置需要处理, 若是正式环境不能更加麻烦

SQLite error (261): database is locked in "select a.[型体编号] as C0,a. as C1 from .[项目档案主表] as aWhere a.[项目编号] = @p0ORDER BY a. ASC"
SQLite error (261): database is locked in "PRAGMA journal_mode = WAL;PRAGMA legacy_alter_table = true"
SQLite error (261): database is locked in "select a.[用户名] as C0 from .[用户信息视图] as aWhere a.[全名] = @p0ORDER BY a.[用户名] ASC"
SQLite error (261): database is locked in "select a.[用户名] as C0 from .[用户信息视图] as aWhere a.[用户名] = @p0ORDER BY a.[用户名] ASC"
SQLite error (261): database is locked in "select a.[用户名] as C0 from .[用户信息视图] as aWhere a.[全名] = @p0ORDER BY a.[用户名] ASC"
SQLite error (261): database is locked in "select a. as C0 from .[任务接收与分派主表] as aWhere a. = @p0ORDER BY a. ASC limit 1"
SQLite error (261): database is locked in "select a.[用户名] as C0 from .[用户信息视图] as aWhere a.[全名]is null   ORDER BY a.[用户名] ASC"
SQLite error (261): database is locked in "select a.[用户名] as C0 from .[用户信息视图] as aWhere a.[用户名] = @p0ORDER BY a.[用户名] ASC"
SQLite error (261): database is locked in "select a.[用户名] as C0 from .[用户信息视图] as aWhere a.[用户名] = @p0ORDER BY a.[用户名] ASC"
Tid:64 2022-07-29 08:34:02: Set ServerInfo to NUll
Tid:60 2022-07-29 08:34:03: InitialServerInfos
Tid:60 2022-07-29 08:34:03: infoStr.length:122406
Tid:60 2022-07-29 08:34:03: Init ServerInfo
Tid:63 2022-07-29 08:34:04: InitialPageAuthorizeInfos
Tid:65 2022-07-29 08:34:09: Begin EnsureHiddenUserInfoTable
Tid:65 2022-07-29 08:34:09: End EnsureHiddenUserInfoTable
SQLite error (261): database is locked in "select a.[用户名] as C0 from .[用户信息视图] as aWhere a.[用户名]is null   ORDER BY a.[用户名] ASC"
SQLite error (261): database is locked in "PRAGMA journal_mode = WAL;PRAGMA legacy_alter_table = true"
SQLite error (261): database is locked in "select a.[用户名] as C0 from .[用户信息视图] as aWhere a.[全名] = @p0ORDER BY a.[用户名] ASC"
SQLite error (261): database is locked in "select a.[用户名] as C0 from .[用户信息视图] as aWhere a.[用户名] = @p0ORDER BY a.[用户名] ASC"
SQLite error (261): database is locked in "select a.[用户名] as C0 from .[用户信息视图] as aWhere a.[用户名] = @p0ORDER BY a.[用户名] ASC"
Tid:89 2022-07-29 08:48:29: Set ServerInfo to NUll
Tid:89 2022-07-29 08:48:29: InitialServerInfos
Tid:89 2022-07-29 08:48:29: infoStr.length:122431
Tid:89 2022-07-29 08:48:29: Init ServerInfo
Tid:89 2022-07-29 08:48:31: InitialPageAuthorizeInfos
Tid:94 2022-07-29 08:48:35: Begin EnsureHiddenUserInfoTable
Tid:94 2022-07-29 08:48:35: End EnsureHiddenUserInfoTable


Erik.Xue 发表于 2022-7-29 09:28:53

您好,因为SQLite是一个文件数据库,所有的数据是以一个.sqlite文件保存的。当sqlite操作事务时,首先要锁定操作的数据,操作完成后再解锁。所以这些日志是SQLite记录锁定的日志,只要数据库正常使用没有报错,我们不需要关注。

jacke_he 发表于 2022-7-29 09:38:00

若使用人数很多时会不会出问题, 或者说性能方面, 10几个在用, 有时页面卡,是不是这个的问题?

jacke_he 发表于 2022-7-29 10:43:12

在操作设计器时,若在里面进行数据表迁移位置或者做一些操作常常会未响应,必须重起设计器,是不是锁定造成

Erik.Xue 发表于 2022-7-29 10:58:32

使用人数多的时候,可以使用事务来保证数据不出错。10几个人一般不会有什么问题。

设计器会卡顿和数据表关系不大,一般是设计器渲染页面或读取数据,和安装设计器的电脑配置也有一定关系。

页: [1]
查看完整版本: SQLite 锁定问题