代码之家  ›  专栏  ›  技术社区  ›  aku

您可以推荐哪种具有独立存储支持的嵌入式数据库?

  •  3
  • aku  · 技术社区  · 16 年前

    我正在寻找嵌入式数据库引擎支持 isolating storage . 目前我知道维斯塔布。你还能推荐什么?

    要求非常简单:

    • Xcopy部署
    • 支持独立存储
    • 最好是免费的

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

    5 回复  |  直到 15 年前
        1
  •  1
  •   Sean Kearon    15 年前

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

    它不是免费的,但它的定价从 $60USD 对于版本4(即将发布)。有免费的 Express Edition 但这只适用于非商业项目。

        2
  •  1
  •   Community CDub    8 年前

    从以下位置开始 Lloyd's 答:有一个用于sqlite的包装库,名为 uSqlite 这应该能够实现你所追求的目标,无论是直接还是以最小的改变。


    为了详细说明(关于Aku的后续问题),我建议修改 uSQLstPoll() 例程(包含在usqlst.c中)。 在这个阶段,您拥有连接到您的客户机的端口和地址信息(包含在sockaddr中)。根据这些信息,您可以修改 uSQLst 结构,修改要连接的本地数据库文件的文件名。

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

        3
  •  0
  •   Lloyd    16 年前

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

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

        4
  •  0
  •   Community CDub    8 年前

    我知道这个问题很古老,但是vistadb支持独立存储,并且是xcopy可部署的。不过,我们没有免费版本,这是一种商业产品。

    看一看上面的SO帖子 Advantages of VistaDB 有关我们支持的其他内容的更多信息。

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

    afaik vistadb是唯一支持独立存储的嵌入式SQL数据库。

        5
  •  -1
  •   Douglas Tosi    16 年前

    你可以这样做 Firebird Embedded .
    虽然它本机不支持独立存储,但是为每个用户创建一个新的数据库应该相当容易。