选择桌面数据库

时间:2020-03-05 18:48:59  来源:igfitidea点击:

我正在寻找台式机/嵌入式数据库。我正在寻找的两个候选人是
Microsoft SQL Server CE和Oracle Lite。如果有人同时使用了这两种产品,那么可以比较一下这将是很棒的。我还没有在线找到任何比较。

后端数据库是Oracle10g。

更新:澄清,业务需求是具有脱机功能的客户端-服务器应用程序(因此需要在客户端上本地存储)

解决方案

回答

如果后端数据库是Oracle 10g,则使用Oracle Lite可能会更容易,因为我们不必在同一项目中使用两个完全不同的SQL方言。

顺便说一句,在我的产品中,我使用SQLite作为桌面数据库

回答

我还使用SQLite作为桌面数据库。它闪电般快速,不需要单独的过程或者任何先前的安装。我们所需要的只是一个库,以作为代码的一部分来访问数据。

根据澄清,我将先评估OracleXE和Oracle 10g Lite。坚持使用相同的技术,SQL / Oracle在SQL语法和数据类型方面存在一些有趣的分歧。我想我们会在SQLite中遇到同样的问题。

回答

我们可能要看一下Oracle XE。我不记得所有的差异,但是O-Lite不能满足我的项目需求。 Oracle XE是用于本地开发的非常好的数据库。

布拉德

回答

也许我没有完全理解这里的需求。我们正在针对10g进行开发,但是对于我们自己的测试/开发环境,我们想要更轻量级的数据库吗?

或者,我们是否正在开发在线时与离线10g数据库同步但离线时使用本地存储的应用程序?

在这两种情况下,我建议仅使用Oracle,因为它将简化代码。

在第一种情况下,我想知道为什么在所有开发人员都可以连接的地方没有10g QA机器。

回答

我将对SQLite进行投票。我不确定我们要完成什么,但是如果要通过同步SQLite进行任何形式的本地存储是一个不错的选择。它得到了广泛的采用,并获得了很多社区的支持。

回答

正如@Nir所提到的,最好具有统一的环境。但是,如果我们决定不使用Oracle Light,我强烈建议我们看一下Firebird。这是桌面数据库方案的最佳选择之一。

回答

SQL Server CE的一个优点是它是免费的,我们可以使用Sync Framework将其与任何ADO.NET可访问的数据库同步。

另外,可以从PC和移动设备使用相同的SQL CE文件,并且如果使用.NET开发应用程序,则可以对台式机和移动设备使用相同的代码,而无需进行更改。