【发布时间】:2010-09-22 09:20:02
【问题描述】:
有谁知道访问数据库的直接替代品,最好是开源的。我偶尔工作的一个小组正在寻找一个替代数据库,他们需要尽可能少地更改实际 SQL。他们的应用程序是 VB6/COM。
【问题讨论】:
-
你应该学习如何搜索 StackOverflow。这已经被反复讨论和回答。请参阅:stackoverflow.com/questions/29044/… 以及其他有关此问题的长时间讨论。投反对票。
有谁知道访问数据库的直接替代品,最好是开源的。我偶尔工作的一个小组正在寻找一个替代数据库,他们需要尽可能少地更改实际 SQL。他们的应用程序是 VB6/COM。
【问题讨论】:
SQL Server Express 是最佳选择。它可以免费使用。它使用标准 SQL,您需要更改任何使用 MS Access 函数的查询。
【讨论】:
您可以查看 OpenOffice Base。
我在它刚推出时尝试了一段时间,它看起来非常慢,而且功能似乎也不完整。
但它是免费和开源的 :o)
【讨论】:
OpenOffice.org 提供了一个名为 Base 的免费开源访问数据库应用程序。或者我也建议使用 SQL Server Express。
【讨论】:
我认为SQLite 对于这类场景总是值得一提的。
【讨论】:
再一次,这个问题的措辞太糟糕了,以至于无法回答。
此处是否使用“访问”一词来描述将 MDB 用于数据表且仅需要替换的情况?
或
使用“Access”一词是否意味着有一个成熟的 Access 应用程序用作数据库的前端?
如果是前者,那它就不是真正的Access数据库,而是Jet数据库,目前给出的答案都令人满意。
如果是后者,那么没有一个答案可以解决前端应用程序构建工具的问题。如果这是问题所在,那么您就不走运了,因为在开源世界中甚至没有任何东西可以与 Access 相提并论(在我看来,可能永远不会)。
但是,通过正确使用术语提出一个更清晰的问题会很有帮助:
如果您的“Access”数据库中只有数据表,那么它只是一个 Jet 数据库(因为您的 MDB 中没有 UI 对象),您应该将其称为 Jet 数据库。对纯数据 MDB 使用“Access”一词(即使您使用 Access 创建它)只会让事情变得混乱。
【讨论】:
我经常看到这意味着“我可以通过文件复制安装的数据库,不需要安装任何软件(服务、驱动程序等)”。
Access 数据库缺少什么他们想要替换它?选项将受此问题的答案限制。
【讨论】: