我们已经为我们的客户使用 SQLite 和 NHibernate 使用 .NET 2 开发了一个“大型”代码库。使用 SQLite,我们可以通过 Windows 文件共享与数据库(甚至多个客户端)进行通信。大多数时候,这对于我们需要做的事情来说已经足够了。
在过去的几个月里,我们需要将我们的应用程序与一个非常小众的旧应用程序集成,并在定制的 Windows 版本上运行 - 剥离了很多东西。没有 .NET,我们也没有“被允许”使用文件共享。现在我们有一个问题。
我们正在寻找一个可以使用 NHibernate 嵌入 SQLite 的嵌入式数据库系统,它也可以使用客户端/服务器访问(生成的代码必须用 C 编写)。
简而言之:
- 正常使用可以与 NHibernate 和本地文件一起使用(可以作为带有客户端/服务器协议的服务运行)
- 额外的用法是以客户端/服务器方式使用 C 库
在许多情况下,我们都希望两者都做。
带有包装库的 SQLite 是我们的第一反应,例如使用 SQLitening。Firebird 可能是一个额外的选择。我们安装的某些计算机可能已经运行了 SQL Server(我不确定 C 对 SQL Server 的支持)。
还有其他(开源或商业)吗?