Lightroom SQLite 数据库二进制 XMP 格式

问题描述 投票:0回答:1

Lightroom 目录是一个 SQLite 数据库。一些元数据值存储在

Adobe_AdditionalMetadata.XMP
列下,该列是 BLOB 数据类型。

当我保存这个 blob 时,它是一些二进制文件,我不知道如何将其转换为可编辑形式或从可编辑形式转换。

根据文档,xmp文件具有XML格式

这里是我的数据库中此类blob的示例

sqlite reverse-engineering xmp lightroom
1个回答
0
投票

我在 Lightroom 论坛上被告知,此类列使用非标准 SQLite 压缩模块。

这里是使用非标准压缩模块重新编译的 SQLite Windows 二进制文件的链接:https://github.com/mnaoumov/sqlite-lightroom-compress-fix

可以提取xmp属性

select uncompress(xmp) from Adobe_AdditionalMetadata where id_local = 4539794;

但是还不能写回。

update Adobe_AdditionalMetadata
set xmp = compress('some valid xmp string value')
where id_local = 4539794;

它执行成功,但您将无法使用

uncompress()
函数读取它。

那是因为上面链接中的库仅修复了

uncompress()
功能。我也在努力修复
compress()
功能

© www.soinside.com 2019 - 2024. All rights reserved.