Microsoft Jet的64位替代方案

时间:2008-09-23 17:49:38

标签: ms-access 64-bit

微软选择不发布64位版本的Jet,这是他们用于Access的数据库驱动程序。有没有人知道一个好的选择?

以下是Jet支持的具体功能:

  • 多个用户可以通过网络连接到数据库。
  • 用户可以使用Windows资源管理器在数据库打开时复制数据库而不会有损坏的风险。 Access目前以足够的可靠性满足客户的需求。
  • 在C ++中运行良好,无需.Net。

备选方案我认为我认为不行(虽然我的理解可能不正确):

  • SQLite:如果多个用户通过网络连接到数据库,它将会损坏。
  • Firebird:复制正在使用的数据库可能会损坏原始数据库。
  • SQL Server:正在使用的文件已被锁定且无法复制。
  • VistaDB:这似乎是.Net特定的。
  • 以32位编译并使用WOW64:还有另一个依赖项需要我们以64位编译,即使我们不使用任何64位功能。

7 个答案:

答案 0 :(得分:12)

幸运的是,过去两年情况发生了变化:

由于Office 2010以64位版本提供,因此Microsoft必须创建64位版本的Jet Engine。根据{{​​3}},Microsoft Customer Service blog包含一个64位驱动程序,它可以访问最新版本的Microsoft Access数据库格式。

答案 1 :(得分:2)

  • 用户可以在数据库打开时复制数据库,而不会有损坏的风险。

您不能使用任何数据库文件,并且多个用户和/或进程修改它。

答案 2 :(得分:1)

您正在寻找的是带有便携式.mdf文件的SQL Server Express。要解决复制限制,您需要确保相关软件不会保持连接打开(即创建断开连接的数据访问层)。

答案 3 :(得分:1)

答案 4 :(得分:1)

@Orion:同意,建议OP使用SQL 2005 Express(如果可能的话)。交易破坏者能够在使用/附加时复制数据库,这对于SQL是不可能的,而不使用某种可以复制“使用中”文件的备份工具。

另一种方法是自动备份和恢复到漫游机器,但这远远不能只是抓取文件的副本。

答案 5 :(得分:1)

您可以看到的另一个替代方案是SQL Server Compact Edition(CE)。我相信这有64位二进制文​​件。

我也同意Orion和Kev关于复制数据库的事。

答案 6 :(得分:1)

我要做的是创建一个单独的32位可执行文件,连接到我的64位应用程序可以通过COM与之通信的Jet。

这满足了我对“像Jet一样工作”的一般要求,因为它是Jet。我的客户没有获得64位的好处,但其他要求更为重要。