【问题标题】:Automate build of Access 2007 database自动构建 Access 2007 数据库
【发布时间】:2012-02-06 16:23:27
【问题描述】:

作为我们构建过程的一部分,我们必须创建一个 Access ACCDB (2007) 数据库。数据库构成了我们应用程序的当前前端,并且必须(出于其他原因)在构建过程的初始阶段构建。

目前,这是一个我希望自动化的手动过程。我们的数据库由许多表、公式、查询等组成。我相信我们实际上已接近 Access 实际能够处理的极限,因此我们尽量不向其中添加任何内容。

我看过这个项目: http://buildmsaccessdb.codeplex.com/

而且它似乎工作得很好。但是,在我们的项目中,我们还有一个 ACD 文件,它是一个二进制文件,其中包含许多与系统相关的表。在 Access 开发方面,我绝不是一个向导。我刚刚接手了处理构建过程的任务。

每当我使用上述项目包含 ACD 文件时,我都会遇到 COM 互操作异常。我现在没有错误消息,但如果它进一步导致了原因,我可以发布它。

我们使用 StarTeam 作为我们的源代码控制,目前在尝试从源代码控制系统创建我们的数据库时遇到了重大问题。我有时会花费数小时重新尝试从源代码管理中创建数据库,因为每次 Access 尝试导入 ACD 文件时都会出现未知故障。

我们已尝试停用 Access 中的所有宏和 ACD 文件,这些宏可能在从数据库创建阶段自动激活。我们怀疑这可能会中断数据库创建过程,但问题仍然存在:经过多次尝试和部分运气,我们只能从源代码控制创建访问数据库!我想通过自动化整个事情来补救。

你们中的一些人可能会指出,最好的起点是找到从 Starteam 提取 ACD(和其他)源文件的问题。我(最初)对此的看法是,如果归结为纯粹的运气,我宁愿让它自动化,然后让计算机浪费时间尝试构建 Access 数据库,然后让我监控这个过程。

欢迎任何有关如何解决在源代码控制系统中自动构建(即持续集成)获取 Access 数据库的问题的帮助或提示。

当然,我还想就如何解决在没有一定运气的情况下无法从源代码管理创建数据库的问题提出建议。

【问题讨论】:

    标签: continuous-integration ms-access-2007 starteam ms-access


    【解决方案1】:

    我们最终设法解决了问题:

    如果我们使用二进制 ACD 文件作为创建数据库的起点,则在导入数据库后,它的内容也将可用。我的意思是以它为起点

    1. 将 ACD 文件复制到适当的目标位置
    2. 将 acd 文件重命名为 MyCompanyName.accdb
    3. 提供 MyCompanyName.accdb 作为 MS Access 数据库以将文件导入到 MSBuildAccess 项目中

    因此 ACD 文件不应与其他文件一起导入,而应将其作为起点。通过查看 codeplex 项目中的实际 msbuild 任务,这一点变得显而易见。

    除了上述步骤之外,我们在Ms Access中还遇到了一个与UIRibbon类相关的构建错误。这已通过创建 MSBuildAccess 项目文档中提到的参考文件得到解决(请参阅 http://buildmsaccessdb.codeplex.com/documentation)。

    现在,我们只需要在编译 access 数据库时解决内存不足的问题。随着我们减小 Access 项目的大小,这很可能会消失。我们的“经验”是,我们的 Access 解决方案在模块、报告、表单等的数量方面处于 Access 能够处理的极限。 有关该问题的更多信息,请参阅这些参考资料:

    • http://help.lockergnome.com/office2/Create-accde-file-error--ftopict802934.html
    • http://stackoverflow.com/questions/1300632/compiling-an-access-2007-accdb-into-accde
    • http://bytes.com/topic/access/answers/518438-cant-create-mde

    【讨论】:

      猜你喜欢
      • 2012-11-07
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      相关资源
      最近更新 更多