将 MS Access 报告转换为 SQL Server 报告

问题描述 投票:0回答:1

我在 MS Access 中有一堆旧报告,我想将它们转移到 SQL Server。

这可以做到吗?需要采取什么步骤?

sql-server sql-server-2008 ms-access reporting-services reporting
1个回答
2
投票
  1. 确定要转换的报告
  2. 在 MS Access 中以设计模式打开报表

  1. 获取报告的旧副本或从 MS Access 运行报告(作为制作 SSRS 报告的基础)
  2. 打开报告属性并找到报告正在使用的记录源:qry_Intermediary_Summary

  1. 转到“查询”选项卡,右键单击“查询”并选择“设计视图”:

  1. 右键单击并选择 SQL 视图

  1. 将 MS Access SQL 复制到 SQL Management Studio

  1. 编辑 MS Access SQL,使其与 SQL Server 兼容:
  • 保留 SQL 关键字的转义列名(例如 GROUP)
  • 用单引号替换双引号
  • 确保表/视图存在
  • 删除美元符号
  • 将 Trim(...) 转换为 LTrim(RTrim(...)))
  • 等等

  1. 当查询使用嵌套查询时,我们需要将它们转换为存储过程并将数据加载到临时表中。例如

此 SQL 使用 3 个嵌套查询:

  • qryTopStocks
  • qry热门股票购买
  • qry热门股票卖出

备注:

  • 我们无法使用返回表的查询函数,因为函数不支持 ORDER BY
  • 我们无法将查询转换为视图,因为视图不接受参数

所以我们必须将查询转换为存储过程:

然后在我们的数据集中,我们将存储过程执行到可以连接的临时表中:

  1. 一旦您有了查询并且它返回了 MS Access 的确切结果(查看旧报告进行检查),那么我们就可以创建一个新报告。

我使用了 MS Access 到 SSRS 转换工具。它设法获得了 MS Access 报告设计,但无法提取数据。这些 SSRS2005 版本报告位于目录 AAA 中。将您要转换的报告从 AAA 文件夹复制到 BBB 项目文件夹中。

将旧的 SSRS2005 报告导入 BIDS/SSRS2016:

选择所有控件并将其复制到新的 SSRS2016 报告中。然后从项目中删除 SSRS2005 报告。您只需要它来复制保留设计、字体和样式的控件。

  1. 在 BIDS 中,将所有控件映射到数据集中的字段。

更新:我刚刚发现这个,它非常有帮助:https://www.databasejournal.com/features/msaccess/article.php/3705151/Converting-Access-Queries-to-SQL-Server.htm

这是对链接数据库的 MS Access 查询与 SQL Server 查询的非常好的解释

https://www.mssqltips.com/sqlservertip/1482/microsoft-access-pass-through-queries-to-sql-server/

© www.soinside.com 2019 - 2024. All rights reserved.