我们的应用程序有一个MS Access 2010数据库(我知道..我更喜欢SQL Server,但这是另一个主题) .
由于MS Access将其数据存储在单个神秘的单片二进制文件而不是脚本中,因此我的团队正在考虑创建与不同版本的软件相对应的多个额外表,并将这些版本保存在一个主数据库中 .
我建议只需将二进制文件放在与软件源代码相同的源代码控制工具中 . 然后,绝大多数数据库内容将与其他版本重复,但至少它使版本控制工具以同步方式同时控制软件源和数据库 .
该应用程序使用从数据库导出的XML文件(不直接绑定到数据库) .
这两种方法的优点和缺点是什么?
我熟悉SQL Server的版本控制方法,但MS Access对于管理具有大量分支的应用程序来说似乎很麻烦 .
1 回答
简而言之:你正在推动访问它不适合的东西 .
您可以使用命令
SaveAsText
和LoadFromText
将大多数对象导出和导入为离散文本文件 . Visual SourceSafe使用它来创建某种源代码控制,但它不能100%可靠地工作 .此外,您还可以“按原样”将对象导入和导出到构建某种版本控制的另一个(存档)数据库 .
我曾经和一个非常大的公司的团队一起工作,他们拥有MS所有可以想象的资源,但是,我们最终得到了一个简单的zip文件系统,给出了包含日期和时间的文件名 .
我们有一个主accdb文件,我们将其作为副本提取到本地文件夹,然后执行我们分配的内容,并将文件复制回来,留下关于哪些对象被更改的注释 . 一个人有任务收集改变的对象和"rebuild"一个新的主人 . 最低限度是每天一次,但我们通常也会在午休时间创建一个 .
它比你想象的要好,因为我们通常在不同的角落运行 - 一个有一些报告,一个有其他报告,一个有一些表格,一个(通常是我)有一些代码模块 . 当然,错误发生了,但是由于我们有zip文件,如果有疑问的话,提取对象的旧副本总是快速而安全的 .