我是MSSQL开发人员,最近我的任务是修复基于Access的系统。此更改涉及进行数据库更改。我不想在“实时”数据库上进行开发,我宁愿复制一个,然后在完成所有测试时最后将实时与开发同步结构。
如何通过访问进行此操作?我可以从开发数据库创建升级脚本并在“实时”访问数据库上运行它们吗?
谢谢!
答案 0 :(得分:1)
您可以创建添加和更改字段(列)的脚本,但最好创建一个dev数据库的空副本,并使用查询和VBA从实时数据库追加。
答案 1 :(得分:1)
你可以跟随拉穆的想法。实际上,Access数据库通常包含在一个文件中。因此,您可以复制整个数据库并处理并测试副本,部署副本。这样,您可以利用到目前为止开发的代码,结构和对象,而无需其他程序或脚本。访问开发很简单,有很多在线资源。
答案 2 :(得分:0)
当然可以,但有时候比手动应用更改更难。如果您只需要在数据库的一个实例上执行更改,则最好将其复制以进行开发,开发更改并准备更改规范以手动/半手动应用(某些脚本很容易开发 - 它将缩短部署变更的时间)
例如,很难将列的“Required”属性从TRUE更改为FALSE。 (您要制作列的临时副本,删除原始列,使用适当的设置制作新的列,将临时列的内容复制到新列,删除临时列 - 非常简单,不是吗?)
答案 3 :(得分:0)
Compare'Em将在VBA代码中创建两个数据库之间的差异,以便根据需要升级到prod后端。我在后端的表中保留了版本号,并执行相应的子例程来升级后端。
答案 4 :(得分:0)
首先,数据库应分为后端(仅限表)和前端(表单/报告/查询/模块/等)。每个用户都会在她的工作站上有一个前端的副本,其中包含后端表格的链接,这些表格在文件服务器上共享。
对于开发,您将处理前端的副本,更改表单/报告/代码等,并且在准备部署时,用户只需将其复制到现有前端之上。
如果您要更改数据结构,可以编写脚本,但为什么要这么麻烦?编写和测试脚本时需要更多时间,以便在测试平台后端进行更改,然后在新前端投入生产使用时再次进行更改。如果我需要升级相同后端的多个副本,我只会编写类似这样的内容。
答案 5 :(得分:0)
第一个关键是拆分数据库,已在许多答案中找到。有关部署客户端数据库的快速简便方法,请查看these instructions。
答案 6 :(得分:0)
这是一个新手的建议,但是:
当您对数据库的开发副本进行更改时,请在文本文件中输入一系列SQL命令,这些命令将执行这些更改并仍保持数据完整。
定期获取实时数据库的新副本并针对它运行脚本,以测试这些脚本将A)正常工作,B)正确保存所有数据。
当需要释放您的工作时,请执行最后一次测试,针对实时数据库的副本运行SQL命令。 (为此,将实时数据库脱机,以便不会有新数据进入。)
只要您觉得它有效,只需将实时数据库交换为最新的开发数据库即可。
您在文本文件中编写了所有数据库更改脚本,因此如果需要,您可以稍后再查看它们。
答案 7 :(得分:-1)
由于您是SQL Server开发人员的区域,因此请考虑您可以在Access中分离出前端和后端。然后你可以让后端成为SQL Server Express。然后,您可以轻松地将更改脚本更改为prod数据库的结构,就像在SQL Server中一样。自从我在Access工作以来已经有一段时间了,但我认为你需要重新连接前端的表格。