4

我们实际上有 100 多个 Access 数据库在网络上浮动。有些使用量很少,有些使用量很大,有些根本没有使用。我们想做的是将这些数据库集中到一个托管数据库中,并尽可能多地保留其中的报告和表单。

这样做的好处是可以进行某种使用跟踪,并且能够更加关注存储在这些应用程序中的一些重要的去中心化数据。

RDBMS(Oracle、MS SQL 服务器)或它将在其上运行的堆栈(LAMP、ASP.net、Java)没有真正的限制,显然不会有灵丹妙药。我们希望能够以自动化的方式消除最初的繁重工作。

4

5 回答 5

5

我们将用户升迁(使用升迁向导或手动)到 SQL 服务器。这通常很简单。将所有访问表替换为 sql server 的链接表,并保持所有表单/报告/宏处于访问状态。访问投资不会丢失,用户可以继续照常营业。您可以获得 sql server 的可靠性和集中备份。请记住 - 我们已经为几个大型访问数据库完成了此操作,而不是数百个。我会做几十个飞行员,看看效果如何。

更新:我刚刚发现了这个,sql server 迁移助手,可能值得一看: http: //www.microsoft.com/sql/solutions/migration/default.mspx

更新:是的,对于设计不佳的数据库,需要进行一些重构。至于如何处理访问蔓延?我在拥有大量技术用户的公司中遇到过这种情况(尤其是工程师,这是最糟糕的......并且擅长蔓延)。我们进行了审计 - (备份后)删除了一年多未触及的所有数据库。“所有者”是根据数据库中的位置和/或数据分配的。如果数据库位于“S:\quality\test_dept”中,则质量经理和首席测试工程师必须拥有它,否则我们将其删除(再次备份后)。

于 2008-09-06T03:36:32.440 回答
3

升级 Access 应用程序并不是灵丹妙药。可能有些事情会更快,但某些类型的操作将是真正的狗。这意味着必须彻底测试大型应用程序并解决性能瓶颈,通常通过将数据检索逻辑移动到服务器端(视图、存储过程、直通查询)。

不过,这并不是问题的真正答案。

我认为这个问题没有任何自动答案。事实上,我会说这是一个人的问题,而不是一个编程问题。必须有人调查网络并确定所有 Access 数据库的所有权,然后采访用户以找出正在使用的内容和未使用的内容。然后,应评估每个应用程序是否应折叠到企业范围的数据存储/应用程序中,或者将其最初实现为少数用户的小型应用程序是否是更好的方法。

这不是您想听到的答案,但正是因为它是人员/管理问题,而不是编程任务,所以它是正确的答案。

于 2008-09-15T21:31:07.430 回答
1

Oracle 有一个迁移工作台可将 MS Access 系统移植到 Oracle Application Express,这值得研究。

http://apex.oracle.com

于 2008-09-15T20:47:03.777 回答
0

所以?将服务器专用于您的 Access 数据库。

现在,您可以从某种使用跟踪中受益,并且能够更加关注存储在这些应用程序中的一些重要的去中心化数据。

无论如何,这就是您要做的,只是您想使用不同的数据库引擎而不是 NTFS。

现在你必须强迫用户进入你的服务器。

好吧,您可以通过告诉他们您不会再用旧备份覆盖他们的数据来鼓励他们,因为现在您将拥有数据,而且您不会再这样做了。

此外,您可以告诉他们,他们的应用程序现在运行速度会更快,因为您将从访问病毒扫描中排除该文件夹(您不会对其他数据库执行此操作,这就是为什么它们充满了 sql-injection恶意软件,但这些数据库不会暴露在互联网上),并计划关闭数据包签名(您不需要在专用服务器上这样做:它仅适用于将文件共享放在其域服务器上的人) .

简单的升级路径、改进的用户服务、更高的 IT 集中化和控制。每个人都是赢家。

于 2008-09-16T03:17:08.113 回答
0

继大卫芬顿的评论

您的管理规则将是这样的:

如果数据库中的数据仅被一个用户用于他们自己的工作(单独),那么他们可以将其保存在自己的网络共享中。

如果数据库中的数据供多人使用(即使只有两个人),那么该数据库必须放在中央服务器上并由 IT 管理(备份、模式更改、接口等)。 )。这是因为,有经验的人需要协调整个节目,否则我们将冒着下一个人的时间/资源的风险。

于 2008-09-16T03:48:30.207 回答