我现在开始研究一个大型软件项目,我首先需要的是一个可以保存所有数据的地方。 我用C#编写软件,我已经四处寻找离线数据库解决方案,但我不知道,对我来说什么是最好的。 我的软件应该一直访问数据,它不应该在服务器上。
有没有人有离线数据库的经验?
希望有人可以帮助我。答案 0 :(得分:1)
另一种可能性:MS SQL CE - 与SQL Server Express非常相似,但基于文件,无需安装服务器......
答案 1 :(得分:0)
好吧,我认为离线这个词有点误导 - 如果你的意思是某种本地关系数据库 - 不在某些远程服务器上托管。它随时可用于您的应用程序。
这里有很多解决方案,我会首先看一下SQL-Server Express或SQLite。两者都是久经考验的成熟产品,用于数百万种应用。 SQLite更轻一点,但由于你没有谈论性能问题,我建议你不要在你的应用程序中单独安装。 C#有很多不同的SQLite包装器库。
还有其他解决方案MySQL和Postgresql - 但是从C#世界开始,我可能会在评估这些之前开始查看前两个。
答案 2 :(得分:0)
您应该使用在服务器上使用的相同软件,在这种情况下只有服务器是您的本地计算机。
因此,如果您更喜欢SQL Server,那么您可以下载并安装SQL Server Express(如果它首先没有预先安装在您的计算机上)。
如果您更喜欢MySQL,可以download并安装它。
Google搜索会引导您进入您可能想要使用的几乎任何其他数据库平台的下载页面。
答案 3 :(得分:0)
如果您使用的是Windows计算机,那么您很可能已经在计算机上安装了SQL Server Express。它的功能非常全面,但绝对适合您所描述的离线使用。
如果您使用的是单声道C#环境,或者您只是希望安装简单的内容,因为您将为其他计算机编写安装程序,那么我建议您使用FireBird Embedded或SQLite。它们都是嵌入式数据库,无论您选择哪个都可以将自己存储到文件中(SQLite也可以在内存中完全执行此操作,但它在运行之间会消失)。
答案 4 :(得分:0)
考虑离线数据库'作为本地数据库',我推荐Sql Express。这是一个很好的,轻量级的' DB,非常适合在开发机器上运行。
另一方面,无论您选择哪种持久性策略,都要在其上留下一层抽象,这样您就可以更简单地改变主意或需求。
答案 5 :(得分:0)
这是一个解释'离线数据库'的教程:here
我遇到了几乎相同的问题,我发现了这个教程,它对我来说只是完美的。