黑莓数据库中的图像存储问题

时间:2011-02-05 14:41:20

标签: database sqlite blackberry blob mobile-phones

我在我的BlackBerry移动应用程序中使用 SQLite 数据库,它运行正常。

我想将相机捕获图像保存到数据库中。摄像头捕获图像的大小为400k,但我将其减少到7000字节。

当我尝试将其插入数据库时​​,会显示 Blob大小太大。数据库每个查询最多只接受4000个字节。

如何插入此图片?有人可以指导我吗?

1 个答案:

答案 0 :(得分:1)

虽然一般SQLite has pretty reasonable limits on BLOBs,但事情是much more constrained on a Blackberry。 (该限制实际上是在编译数据库引擎时设置的。)您可以使用第一页上的信息来实际找出限制的真实情况(但请注意,这可能因Blackberry平台而异;请注意在第二页):

int sizeLimit = sqlite3_limit(db, SQLITE_LIMIT_LENGTH, -1);

然而,第二个链接确实注意到,最好将尽可能少的数据存储在数据库中(嗯,合理;如果数据需要存在,它应该存在),其余信息存储作为普通文件。在图像的情况下,我建议将图像本身放在一个文件中,并在数据库中只保留元数据(包括文件名,自然!)。这仍然适用于大小限制,同时仍然允许相当丰富的查询。你这样做会丢失的是图像数据的事务存储(但如果你获得的回报是能够存储数据的所有,那仍然是一个很好的交易)。