【问题标题】:How to Continuously Develop and Deploy an Access 2010 Database Application如何持续开发和部署 Access 2010 数据库应用程序
【发布时间】:2015-08-24 16:14:50
【问题描述】:

我一直在开发一个 Access 2010 数据库应用程序,我们称之为Skill.accdb。 我正处于想要开始部署它的阶段,以便用户可以开始使用它并同时继续开发。 我一直在阅读

其中谈到了拆分、编译、安装等,但它们在实际的程序步骤上非常短。

我已将我的数据库应用程序拆分为后端和前端:Skill_Back.accdbSkill_Front.accdb。 后端位于网络共享驱动器上,一些用户拥有前端的副本。 到目前为止一切顺利,特别是如果我再也不需要做任何开发的话。 但我不太明白现在如何在不干扰“实时”后端的情况下继续前端开发。

如何让前端的开发版本指向后端的虚拟版本,这样我就不会弄乱实时版本? 然后,当我希望发布新版本的前端时,如何让它再次指向后端的实时版本?

如果我重新拆分(即再次使用移动数据 | 访问数据库工具)指向一个尚不存在的虚拟后端,我被告知所有表现在都是空的——不是我的想。 如果我重新拆分以指向实时后端的副本,系统会询问我是否要替换它——也不是我想要的。 如果我这样做,我再次被告知“此数据库中没有表。后端数据库将为空。”但是我看到它(前端)仍然指向实时后端!

我缺少什么关键概念/工具/程序? (我问的不是编译或运行时或构建安装程序——这些都是后来的问题。)

附录

除了遵循以下最佳答案中的建议外,我还发现了其他几篇确实描述程序的文章:

【问题讨论】:

    标签: ms-access deployment ms-access-2010


    【解决方案1】:

    这不是网站,也不是文件;这是一个数据库。您无法在每个用户的计算机上更新前端的每个副本,它只是不能那样工作。

    我使用的一种策略是“版本化”我的前端,当我处理数据库时,我不使用 Access 的内置 Move Data 工具。

    我如何让前端的开发版本指向一个 后端的虚拟版本,这样我就不会搞砸现场 版本?

    您需要(至少)2 个不同的环境

    1. 生产(您的用户使用什么)
    2. 测试(进行更改并进行测试)

    对于测试,您需要自己的后端和前端。这是您将进行持续开发的地方。您永远不想打扰您的用户正在使用的内容,尤其是数据。

    对于生产,您可以进行更改并通过共享网络驱动器推出新版本,用户可以在其中下载副本,就像第一个一样。在这里,您将使用 Linked Table Manager 将表重新连接到您的生产后端和新的前端。

    所以工作流程是:

    1. 您拥有用户正在使用的生产后端和前端。
    2. 您可以使用这两个数据库的副本,这与它们使用的内容无关。
    3. 您通过Linked Table Manager 将您的前端表链接到后端的复制的开发版本
    4. 您更改/进行更新/继续在您的前端开发。
    5. 您对其进行测试/确保一切正常
    6. 您将新的生产前端版本 (v2) 放在共享网络驱动器上并将其连接到生产后端
    7. 您的用户下载(复制)新的前端版本并使用它。
    8. 他们看到了您的变化,并对您所做的工作感到惊讶,并且您因知道该做什么并成为一名出色的开发人员而获得 5,000.00 美元的加薪。

    链接表管理器

    在导航窗格中,右键单击其中一个链接表以打开快捷菜单。从那里,选择链接表管理器。

    这使得管理链接变得容易。在要更改的每个链接表旁边的框中打勾。或者如果全部更改,请单击全选。还要选中标有“总是提示输入新位置” 的框(在该对话框窗口的左下角)。然后 Access 将要求您找到链接的数据库源。

    如果您需要更多信息,请说出来。

    将新表从后端链接到前端

    如果我有一个带有表的后端数据库,并且我想将这些表链接到我桌面上的前端,我会遵循以下流程:

    1. 单击 Access 功能区顶部的外部数据选项卡
    2. 点击访问
    3. 为您的后端选择正确的文件名/目录
    4. 选择Link to the data source by creating a linked table.
    5. 选择要导入的表(大概可以点击全选)
    6. 点击“确定”。

    现在您将在前端看到表格。然后,您可以使用链接表管理器来管理这些链接,例如,如果您的后端数据库被移动到不同的位置。

    【讨论】:

    • 这一切似乎都是如此明显的新事物——这绝对是缺少 Linked Table Manger 什么/在哪里的一个案例!
    • 我有点困惑:您在“链接表管理器(扩展)”下描述的似乎是链接表的一种替代方式(与 LTM 完全不同) .不确定这个比 LTM 有什么优势——也许它允许链接到更大范围的不同 DBMS 表?
    • 链接表管理器链接表管理器。很抱歉模棱两可 - 我能澄清什么?没有什么不同。
    • @MarkC 提到的外部数据路由本质上是如何让前端数据库首先链接到后端数据库的表。即,如果您不想使用拆分数据库向导,您将在后端数据库中设置表,然后创建前端数据库,然后在前端数据库中,您将通过外部数据 > 访问链接到后端表。如果您的后端数据库被移动到不同的地址,LTM 就是您重新建立这些链接的方式。
    • 感谢@MattHall 的澄清。我想知道是否应该将这些信息编辑到答案正文中,让所有人受益......
    【解决方案2】:

    我建议这样做:

    http://www.databasejournal.com/features/msaccess/article.php/3286111/Automatically-Deploy-a-New-Access-Client.htm

    文章引用了 Access 2003,但我已将它用于 Access 2010 数据库。本质上,创建一个 2010 编译的前端,并在启动时检查客户端版本是否与服务器版本匹配。如果它们不同,则将新的服务器版本复制到客户端的机器上。挺好看的。

    【讨论】:

    • 请将此链接的任何相关部分添加到您的答案中,记住链接可能会损坏和/或过时
    【解决方案3】:

    我知道这是一个非常古老的问题,但我最近使用了一种对其他人有用的超级简单的技术。

    为了部署,我将前端 (FE) 数据库(可以是 MDE、MDB 或 accdb,适用于任何类型)放在一个共享文件夹中,以及一个将 FE 复制到用户的 %TEMP 的小批处理文件% 文件夹。
    然后我只在每个用户的桌面上部署 .bat 文件
    这样,每次用户启动应用程序时,都会在本地复制一个新的 FE 副本并启动。
    对于升级,我只需要将新的 FE 放在共享文件夹中。这也消除了定期压缩 FE 的需要!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-07
      • 1970-01-01
      相关资源
      最近更新 更多