您可以推荐具有隔离存储支持的嵌入式数据库?

时间:2008-09-20 14:59:38

标签: database embedded-database isolatedstorage

我正在寻找支持isolating storage的嵌入式数据库引擎。目前我了解VistaDB。还有什么可以推荐的?

要求非常简单:

  • xcopy部署
  • 支持隔离存储
  • 最好是免费的

请注意,使用IS时,您不知道文件的确切路径。

5 个答案:

答案 0 :(得分:1)

Lloyd's回答之后,有一个名为uSqlite的sqlite包装库,它可以直接实现你所追求的目标,或者只做最少的改动。


详细说明(对于Aku的后续问题)我建议修改uSQLstPoll()例程(包含在uSQLst.c中)。 在此阶段,您将获得连接到您的客户端的端口和地址信息(包含在sockaddr中)。根据该信息,您可以修改uSQLst结构,以修改您要连接的本地数据库文件的文件名。

免责声明:请注意,基于很少的调查,这是一种可能的解决方案。在部署之前,建议进行更彻底的调查。

答案 1 :(得分:1)

VistaDB似乎有support用于隔离存储。我已经使用它近一年了,我对此非常满意。

它不是免费的,但它的价格从版本4的$60USD开始(很快就会发布)。有一个免费Express Edition,但这仅适用于非商业项目。

答案 2 :(得分:0)

Sqlite非常适合嵌入并且是免费的。

它不直接支持独立存储,但是看起来自己调用隔离存储API是相当简单的,并将生成的文件名作为它应该使用的文件名传递给Sqlite。

答案 3 :(得分:0)

我知道这个问题很老,但VistaDB支持隔离存储并且可以部署XCopy。我们没有免费版本,但它是商业产品。

请查看Advantages of VistaDB上的SO帖子,了解有关我们支持的其他内容的更多信息。

独立存储支持不仅仅是不知道你的文件名。您必须使用流,您不需要文件级锁定,您不能在同一路径中创建临时文件,您必须了解UAC和空间限制。

AFAIK VistaDB是唯一支持隔离存储的嵌入式SQL数据库。

答案 4 :(得分:-1)

您可以使用Firebird Embedded执行类似的操作。
虽然它本身不支持独立存储,但为每个用户创建一个新数据库应该非常容易。