2

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

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

我看了一下这个项目: http://buildmsaccessdb.codeplex.com/

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

每当我使用上述项目来包含ACD文件时,我会得到COM互操作异常。我现在在我面前没有错误信息,但如果它促进了原因,我可以发布它。

我们使用的StarTeam作为我们的源代码控制和目前遇到的重大问题,努力创造我们从源头控制系统数据库时。我有时花费数小时才重试从源代码管理中创建数据库,因为每次Access试图导入ACD文件时都会出现未知失败。

我们试图停用访问任何宏以及可能从数据库阶段的创建过程中被自动激活的ACD文件。我们怀疑这可能已经中断了数据库创建过程,但问题依然存在:我们只能在经过多次尝试和部分纯粹运气之后从源代码管理创建我们的访问数据库!我想通过自动化整个事情来补救。

你们当中有些人可能会指出,到最好的地方开始是要找到问题与提取从StarTeam的ACD(等)的源文件。我的(最初的)承担这一点是,如果它归结为纯粹的运气,无论如何,我宁愿让它自动化,然后让计算机浪费它的时间,试图建立Access数据库,然后让我监视过程。

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

当然,我也想就如何解决不能够没有一定量的好运气来创建源代码管理数据库中的问题的建议。

回答

0

我们最终设法理清头绪:

如果我们使用的二进制文件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项目的大小时,这很可能会消失。这是我们的“经验”,我们的接入解决方案是什么样的访问能够在模块,报表的形式,数量等方面的处理非常极限 参见该问题的更多信息这些引用:

  • 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