本地和客户端/服务器的数据库是什么?

时间:2010-07-07 14:16:59

标签: .net sql firebird embedded-database

我们已经使用SQLite和NHibernate为我们的客户使用.NET 2开发了一个“大型”代码库。使用SQLite,我们可以跨Windows文件共享与db(甚至多个客户端)进行通信。大多数情况下,这完全足以满足我们的需求。

在过去的几个月里,我们需要将我们的应用程序与一个非常小的应用程序集成在一起,并运行在自定义构建的Windows版本上 - 其中包含许多内容。没有.NET,我们不被“允许”使用文件共享。现在我们遇到了问题。

我们正在寻找一个嵌入式数据库系统,可以使用NHibernate插入SQLite,也可以使用客户端/服务器访问(生成的代码必须用C语言编写)。

简而言之:

  • 正常用法可以是NHibernate和本地文件(可以作为服务与客户端/服务器协议一起运行)
  • 其他用法是以客户端/服务器方式使用C库

在许多情况下,我们都希望同时做到这两点。

带有包装器库的SQLite是我们的第一反应,例如使用SQLitening。 Firebird可能是一个额外的选择。我们安装的某些计算机可能已经运行了SQL Server(我不确定C支持SQL Server)。

其他任何人(开源或商业)?

2 个答案:

答案 0 :(得分:1)

如果你想要非常轻量级,我发现CodeBase(isam)非常高效,易于剥离和重新链接。

否则SQLite是我经常用于便携式应用程序(嵌入式Linux,WinCE等)的 - 优先考虑适用的Microsoft便携式数据库选项。

答案 1 :(得分:0)