我继承了一个设计不佳且不稳定的自定义构建工具,我有很好的机会从头开始重建它。这是一个内部工具,几乎完全在Access中工作,其目的是提供更高的细节,使公司损失超过一定的金额。
工作原理:
1)原始数据(新的部件号)每天从EDW通过Access中的宏拉出。
2)然后,相同的宏连接两个表(部件号来自一个,名称来自另一个)。删除某个金额以下的任何部分,并将新数据附加到现有的Access数据库中。
3)在白天,员工可以打开自定义访问表单以添加有关该部件的更多详细信息。根据零件类别询问不同的问题。
4)完成的表格将转发给管理层,输入的信息将保留在Access数据库中 - 它不会写回EDW。
5)管理人员还可以根据总体成本从数据库中提取一些基本报告。
问题:
1)目前,每个人都必须在其工作站上安装Access,并且每当有更新时,新数据库都会被推送到他们的工作站。管理层或IT部门认为这不是理想的情况。
2)如果有人在一天结束时意外打开工具,数据库将被锁定,因此宏无法运行,并且无法使用新的部件号更新工具。
3)如果该工具连续几天无法更新,则数据库可能会损坏。我们可以从上一次良好的备份恢复,过去这导致了多天的工作损失。
理想情况下,我们希望将该工具完全取出Access。我正在构建一个可以托管该工具的SharePoint站点,(如果我能做对的话)将通过数据库推送消除对最终用户站的访问的需要。但是,SharePoint表单需要读/写功能。
最大的问题是:我如何建立这个?
我有一个完全开放的可能性 - 我可以使用我想要的任何工具或平台以任何方式设计它,只要它有效。它不必自动更新,因为我已经在一天开始时运行了许多SQL脚本,并且添加一个SQL脚本是无关紧要的。
我现在拥有的资源包括:SharePoint(带设计器),Access,Toad和SQL Server。数据库可以托管在共享网络驱动器上。
我是一名具有基本SQL知识的大学毕业生。我有大约一年的时间来生产最终产品,但如果可能的话,我希望尽快将其推出并运行。
任何关于追求方向的建议都会非常有帮助,谢谢。
答案 0 :(得分:1)
警告:我从未使用过SQL Server,所以我不了解它的所有功能(我是Oracle开发人员)。
我在你的情况下做的事情如下(虽然不一定按照这个确切的顺序):
您还必须考虑事务控制,以尝试减轻用户在一天结束时回家而不提交工作的情况 - 数据库是处理提交/回滚还是Sharepoint?
一旦您在测试环境中解决了所有问题,就可以创建prod数据库,用户和对象,然后制定迁移prod数据的最佳方法。< / p> 祝你好运。
不要忘记为新的数据库设置获取备份。