我试图在 h2 嵌入式数据库中插入 blob 数据,但它从类路径/URI 失败。但是它适用于绝对路径
Posted
技术标签:
【中文标题】我试图在 h2 嵌入式数据库中插入 blob 数据,但它从类路径/URI 失败。但是它适用于绝对路径【英文标题】:i am trying to insert blob data in h2 embedded database , but it fails from classpath/URI . However it works fine with absolute path 【发布时间】:2018-04-09 13:46:10 【问题描述】:我正在使用 spring boot 1.5.10.RELEASE,它使用 H2 1.4.196 版本。
请您帮忙解释一下为什么 URI 或类路径不起作用?
文件:/src/main/resources/samplepdfs下的test1.pdf
INSERT INTO CBM_DATA(DATA) VALUES () --> 返回空数据(文件托管在 Intranet 上,因此无法共享 URL(使用 https),我无需任何凭据即可访问文件
INSERT INTO CBM_DATA(DATA) VALUES ('classpath:/samplepdfs/test1.pdf') --> 返回空数据
【问题讨论】:
INSERT INTO CBM_DATA( DATA ) VALUES (FILE_READ( > )) INSERT INTO CBM_DATA( DATA ) VALUES (FILE_READ('classpath:/samplepdfs/test1.pdf' )) DATA 是一个数据库中的 BLOB 【参考方案1】:有点旧,但可能与这个问题有关?
https://github.com/h2database/h2database/issues/446
(由于 0 字节文件长度,来自类路径的 FILE_READ 不起作用)
【讨论】:
以上是关于我试图在 h2 嵌入式数据库中插入 blob 数据,但它从类路径/URI 失败。但是它适用于绝对路径的主要内容,如果未能解决你的问题,请参考以下文章