我正在寻找一个桌面/嵌入式数据库。我正在寻找的两个候选人是 Microsoft SQL Server CE 和 Oracle Lite。如果有人用过这两种产品,如果你能比较一下就太好了。我在网上找不到任何比较。
后端数据库是Oracle10g。
更新:澄清,业务需求是具有离线功能的客户端-服务器应用程序(因此需要在客户端上存储本地数据)
我正在寻找一个桌面/嵌入式数据库。我正在寻找的两个候选人是 Microsoft SQL Server CE 和 Oracle Lite。如果有人用过这两种产品,如果你能比较一下就太好了。我在网上找不到任何比较。
后端数据库是Oracle10g。
更新:澄清,业务需求是具有离线功能的客户端-服务器应用程序(因此需要在客户端上存储本地数据)
如果后端数据库是 Oracle 10g,那么使用 Oracle Lite 可能会更容易——这样您就不必在同一个项目中使用两种完全不同的 SQL 方言。
顺便说一句,在我的产品中,我使用 SQLite 作为桌面数据库
我还使用 SQLite 作为桌面数据库。它快如闪电,不需要单独的过程或任何事先安装。您只需要一个库来访问作为代码一部分的数据。
根据您的说明,我会先评估 OracleXE 和 Oracle 10g Lite。坚持同样的技术,SQL/Oracle 对 SQL 语法和数据类型有一些有趣的分歧。我想你会在 SQLite 上遇到同样的问题。
我将支持 SQLite 的投票。我不确定您要完成什么,但如果您正在使用同步 SQLite 进行任何类型的本地存储,那么这是一个不错的选择。它具有非常广泛的采用和大量的社区支持。
也许我没有完全理解这里的需要。您正在针对 10g 进行开发,但是对于您自己的测试/开发环境,您想要一个更轻量级的数据库吗?
或者,您是否正在开发一个在线时与 10g 数据库同步但离线时使用本地存储的应用程序?
在这两种情况下,我都建议只使用 Oracle,因为它会简化您的代码。
在第一种情况下,我想知道为什么您没有一个所有开发人员都可以连接的 10g QA 机器。
SQL Server CE 的一个优点是它是免费的,并且您可以使用Sync Framework将其与任何 ADO.NET 可访问数据库同步。
此外,相同的 SQL CE 文件可用于 PC 和移动设备,如果您使用 .NET 开发应用程序,则可以在桌面和移动设备上使用相同的代码而无需更改。
您可能想查看 Oracle XE。我不记得所有的差异,但 O-Lite 不适合我的项目需求。Oracle XE 是一个非常适合本地开发的数据库。
布拉德
正如@Nir 提到的,最好有同质的环境。但是,如果您决定不使用 Oracle Light,我强烈建议您看看Firebird。它是桌面数据库方案的最佳选择之一。