You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将SSRS 2008报表/报表模型迁移至SSRS 2019的疑问

SSRS 2008报表模型迁SSRS 2019实操要点

1. 定位报表列与数据库字段的映射关系

直接用文本编辑器(比如VS Code)打开SMDL文件,找到<Entity>节点下的<Attribute>标签:

  • Name属性对应报表中显示的列名
  • QueryDefinition子节点里的DbColumn属性就是数据库实际字段名
    示例片段:
<Attribute Name="CustomerName">
  <QueryDefinition>
    <ColumnReference DbColumn="CUST_NAME" DbSchema="dbo" DbTable="Customers"/>
  </QueryDefinition>
</Attribute>

2. 识别SMDL中数据集关联的查询/存储过程

在SMDL的<Model>节点下找<DataSourceView>节点:

  • 若绑定存储过程,会有<StoredProcedureCall>标签,其中DbName属性就是存储过程名称
  • 若为自定义SQL查询,<Query>节点内的<CommandText>标签里就是完整的SQL语句
    存储过程示例:
<StoredProcedureCall Name="GetSalesData">
  <StoredProcedureReference DbSchema="dbo" DbName="sp_GetMonthlySales"/>
</StoredProcedureCall>

自定义查询示例:

<Query>
  <CommandText>SELECT OrderID, OrderDate FROM dbo.Orders</CommandText>
</Query>

3. 迁移后数据集的填充处理

迁移后报表数据集仍保留SMDL格式XML时,手动替换即可:

  1. 打开SSRS 2019报表设计器,进入数据集属性窗口
  2. 删除原SMDL格式内容,替换为提取到的SQL语句,或用EXEC dbo.sp_YourProcedure调用对应存储过程
  3. 重新将报表字段与新数据集的列做映射,确保字段名称匹配
    如果原模型逻辑复杂,可把SMDL中的查询逻辑封装为新的存储过程,直接调用该存储过程填充数据集

内容的提问来源于stack exchange,提问作者Rob Ainscough

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 04:17:26