将 SQL Server 与 Access Forms 或 ASP.NET 一起使用

Posted

技术标签:

【中文标题】将 SQL Server 与 Access Forms 或 ASP.NET 一起使用【英文标题】:Using SQL Server with Access Forms or ASP.NET 【发布时间】:2011-07-13 20:51:30 【问题描述】:

将大型 (16000 LOC) 现有 Access 2007/Forms 应用程序移植到 SQL Server 2005,同时将 Access 表单保留在前端,而不是将前端移植到 . NET 技术,比如 ASP.NET 4.0 还是 MVC3?后端肯定会移植到 SQL Server,并进行大量架构修改,所以这个问题是关于是否使用现有的 Access Forms 前端。我不会轻易丢弃现有的工作代码!另一方面,架构将发生很大变化。

如果您有丰富的 ASP.NET/Oracle 经验,但没有 Access 或 SQL Server 方面的经验,这会如何改变您的答案?

谢谢, 迈克

【问题讨论】:

这句话可能有点误导:“我不会轻易丢弃现有的工作代码!”您的“主要架构大修”很可能会迫使对现有 Access 前端进行大量更改。因此,更准确地说,您正在考虑的选择是对 Access 前端的重大修订与使用 Dot Net 作为前端。 【参考方案1】:

Access 作为 RDBMS 的前端没有任何问题,无论是 SQL Server 还是其他

移植前端但留下 Access 后端似乎有点奇怪:何必呢? Access 是一个很好的演示工具,但 DBMS 平庸。为什么要保持平庸?

此外,无论您做什么,一次只更改一个组件:数据,然后是前端。不要做大爆炸式的方法并改变很多

【讨论】:

无论如何,我们肯定会使用 SQL Server 作为后端,我编辑了问题以使其更清楚。我是一个 C# 人,但如果它最有意义的话,我不想让它影响我继续使用 VB/Access/Forms 解决方案。 @Mike:我的答案仍然成立,不过我会补充更多 如果您能提供一些我可以用作具体理由的细节,请这样做。 :) 架构将被大幅修改,无论如何都会导致大量代码更改。在某些时候,从 Access 迁移出来一定是有意义的。但我对那一点在哪里毫无感觉。基本上我不知道 Access 应用程序有多友好或可测试性。 为什么不隐藏视图后面的架构更改,以便 Access 看到相同的内容?对于写入,使用 INSTEAD OF 触发器来捕获它们【参考方案2】:

实际上,与 Web 应用程序 (ASP.NET) 和独立 (Access) 进行比较并不是真正的“苹果对苹果”的比较。这在很大程度上取决于您的要求。

当然,与在 Access 中构建表单/报告相比,使用 Web 应用程序需要开发人员付出更多的努力。但是,回报将在中长期内感受到。

在决定使用/继续使用 Access 时,您还应该考虑可扩展性、部署和可用性问题。

【讨论】:

以上是关于将 SQL Server 与 Access Forms 或 ASP.NET 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 和 SQL Server 连接(可信来源与传递登录凭据)

如何将 SQL Server 表中的数据附加到 Access 表中?

作为 SQL Server 的前端访问 - ADO 与 DAO?

SQL Server 后端和 Access 前端 - 与 SQL Server 本机客户端的 ODBC 连接失败

将 MS SQL Server 查询结果导出到 MS Access

Access查询与SQL Server视图