本地和客户端/服务器使用什么数据库?
我们已经为我们的客户使用 SQLite 和 NHibernate 使用 .NET 2 开发了一个“大型”代码库。使用 SQLite,我们可以通过 Windows 文件共享与数据库(甚至多个客户端)进行通信。大多数时候,这对于我们需要做的事情来说已经足够了。
在过去的几个月里,我们需要将我们的应用程序与一个非常旧的应用程序集成,该应用程序非常小众,并且在自定义构建的 Windows 版本上运行 - 删除了很多东西。没有.NET,并且我们不“被允许”使用文件共享。现在我们有一个问题。
我们正在寻找一个可以使用 NHibernate 插入 SQLite 的嵌入式数据库系统,也可以使用客户端/服务器进行访问(生成的代码必须用 C 语言编写)。
简而言之:
- 正常用法可以是 NHibernate 和本地文件(可以作为带有客户端/服务器协议的服务运行)
- 附加用法可以是客户端/服务器方式中的 C 库
在许多情况下,我们希望两者都做。
我们的第一反应是带有包装库的 SQLite,例如使用 SQLitening。火鸟可能是一个额外的选择。我们安装的某些计算机可能已经运行了 SQL Server(我不确定 C 对 SQL Server 的支持)。
还有其他的(开源的还是商业的)?
We have a "large" code base already developed using SQLite and NHibernate using .NET 2 for our clients. Using SQLite we can communicate with the db (even multiple clients) across a Windows file share. Most of the time, this is perfectly sufficient for what we need to do.
Over the last few months, we have needed to integrate our application with a much older application that is very niche, and runs on a custom built version of Windows - with a lot of things stripped out. No .NET, and we aren't "allowed" to use file shares. Now we have a problem.
We're looking for an embedded database system that can be dropped in for SQLite, using NHibernate, which could also be accessed using a client/server (the resulting code must be written in C).
In short:
- Normal Usage could be with NHibernate and a local file (could be run as a service w/ client/server protocol)
- Additional Usage would be with a C library in a client/server fashion
In many cases, we'll want to do both.
SQLite with a wrapper library was our first reaction, using SQLitening for example. Firebird may be an additional option. Some computers that we install onto may already have SQL Server running (I'm not sure about C support for SQL Server).
Any others (open source or commercial)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想要真正的轻量级,我发现 CodeBase(isam)非常高效并且易于剥离和重新链接。
否则,SQLite 是我经常用于便携式应用程序(嵌入式 Linux、WinCE 等)的工具 - 在适用的情况下,优先于 Microsoft 便携式数据库选项。
If you want really lightweight, I've found CodeBase (the isam) to be hightly efficient and easy to strip things out and relink.
Otherwise SQLite is what I've often used for portable applications (embedded linux, WinCE etc.) - in preference to Microsoft portable database options where applicable.
查看 http://www.h2database.com/
check out http://www.h2database.com/