docker - SQLite:无法运行缓存的语句

标签 docker sqlite synology nas orthanc-server

我在 Docker 卷中使用 Orthanc

volumes: 
  - /mnt/win_share/test:/var/lib/orthanc/db/

Orthanc.js sqlite 的文件路径

  "StorageDirectory": "/var/lib/orthanc/db",

我正在尝试将 Docker 中初始化的 Orthanc 路径复制到安装在我的 Ubuntu 系统上的驱动器,每当我尝试运行命令时,我都会收到以下错误

错误:

  1. SQLite 错误代码 5
  2. 无法序列化作业引擎:SQLite:无法运行缓存的语句
  3. StatelessDatabaseOperations:3260] 异常 [SQLite: 无法运行缓存的语句 - ]

最佳答案

我在尝试运行两个指向同一个 SQLite 数据库的 Orthanc 实例时遇到了类似的问题。

基本上,这个 SQLite 错误代码 5 意味着 SQLite 正忙。 我能找到的唯一解决方案是使用另一个数据库(例如 PostgreSQL)。

Orthanc 配置文件:

  "Name": "Orthanc inside Docker",
  "PostgreSQL" : {
    "EnableIndex" : true,
    "EnableStorage" : true,
    "Lock" : false,
    "ConnectionUri" : "postgresql://username:password@host:port/database"
  },  
  "Plugins": [
    "/home/user/orthancdatabases/BuildPostgreSQL/libOrthancPostgreSQLIndex.so",
    "/home/user/orthanc-databases/BuildPostgreSQL/libOrthancPostgreSQLStorage.so"
  ],

发生这种情况是因为有一个数据库存储 DICOM 和 JSON 文件,另一个数据库存储 DICOM 层次结构和标签。第二个由 Orthanc 同步访问。

但是,在 PostgreSQL 插件中,层次结构和标签的数据库被正确隔离,允许您随意访问同一个数据库。

希望这有帮助!

关于docker - SQLite:无法运行缓存的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71405254/

相关文章:

postgresql - Docker PostgreSQL 查询输出

c# - 谁能提供 SQLite "SetTimeout"的 C# 示例?

postgresql - 如何修复 "OperationalError: (psycopg2.OperationalError) server closed the connection unexpectedly"

azure - 基于 REST 的服务在 Azure 中的 Kubernetes 上作为 Pod 运行,且存在间歇性超时

mysql - Docker - 无法访问容器中的 MySQL CLI

swift - 如何使用swift删除sqlite中的项目

node.js - 我们如何使用node.js连接sqlite?

linux - ffmpeg : Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, 速率、宽度或高度

mysql - 使用 python 连接到 Synology 数据库

linux - SFTP 手动命令成功但脚本在 1% 或 2% 处失败