.accdb 可以用作部署了 SSRS 的服务器的后端吗?

Can an .accdb be used as a back end to a server deployed SSRS?

对于我的公司,有一份报告在到达我的部门时以访问数据库格式 (.accdb) 结束。我们想用这些信息部署一个 SSRS。虽然我能够在 Visual Studio 中做到这一点,但数据库管理员质疑这是否真的可以在服务器环境中部署和工作。这能实现吗?

您是在谈论 Access 报告还是 Access 内部的数据?

SQL 服务器报告不是 Access 内置的,与 Access 完全无关。唯一的问题是既然无法在 Access 中构建报告,那么为什么要尝试让 SQL 服务器为数据源打开 accDB 文件?您最好让 Access 将 table 数据传输到 SQL 服务器,然后继续使用 SQL 服务器中内置的报告。

因此 Access 中的报告与 SQL 服务器报告的关系为零。因此,Access 中的报告没有用,如果您计划使用 SSRS,则必须在 SSRS 中构建报告。

可以在服务器上放置一个 Access accDB 数据文件并让 SQL 服务器连接此类数据,但它通常不允许或无法与多个用户一起使用。

请记住,反过来当然是可能的,而且经常被推荐。您将所有数据放置并保存在 SQL 服务器 table 上。然后,您 link 访问 SQL 服务器的应用程序。在此设置中,数据始终驻留在 SQL 服务器上,但报告位于 Access 中。 Access 中内置的一般表格等会将其数据保存并发送到 SQL 服务器(无需编写代码即可工作)。

因此,以上建议必须将带有报告的 Access 应用程序分发给需要此类报告的用户。由于这些数据驻留在 SQL 服务器上,因此这些用户将只共享一份数据副本。而且此设置还允许在 SSRS 中创建报告而无需上传任何类型的数据,因为来自 Access 应用程序的实时操作数据始终驻留在 SQL 服务器上。

所以总结一下: Access 报告是 Access 报告,就像 FoxPro 报告是 FoxPro 报告,FileMaker 报告是 FileMaker 报告一样。因此,无论如何,SQL 服务器无法使用、查看或利用这些报告。

然而,反过来不仅是可能的,而且是一种常见的解决方案。因此,Access(前端)被 linked 到 SQL 服务器,Access 应用程序的表单、代码、报告等数据 table 现在位于 SQL服务器。

如果您将Access中的实际accDB数据文件放在SQL服务器上,则SQL服务器可以读取数据,但无法使用Access中的任何代码、表格、报告等通过 SQL 服务器。因此,Access 中的报告对 SSRS 的使用为零。

因此,如果 SSRS 是一个目标,那么从用户界面的角度来看,任何内置在 Access 中的东西都不能使用。 SSRS因此只能消耗table秒内的数据。

由于 SSRS 只能使用来自 Access 的数据(不能使用其他任何数据),因此将 accDB 文件上移到服务器的更好解决方案是简单地从 Access tables 中上推数据到 SQL 服务器 tables。如果这种数据传输经常发生,那么可能更好的方法是始终将 tables 和数据保存在 SQL 服务器中,并让访问前端部分“link” SQL 服务器上的数据。在大多数情况下,访问报告、表格甚至 VBA 代码都会像以前一样 运行,但实时数据始终驻留在 SQL 服务器中。因此,您消除了尝试在两个系统之间传输数据的所有舞蹈和歌曲。 SQL 服务器数据因此始终“实时”并更新到最新,并且永远只存在 table 数据的一个副本。

当您将数据 table 放在 SQL 服务器上并且前端访问部分“link”到SQL服务器。

由于 SSRS 中给定的专门报告将需要预先确定且不变的 table 结构,因此最谨慎的解决方案是访问 link 并使用数据来自 SQL 服务器 tables(而不是相反)。

因此,Access 报告只能由在每台客户端台式计算机上安装了 Access(或免费 运行time)的用户使用。如果您的目标是让此类报告与 SSRS 一起使用,则必须 100% 重建此类访问报告。