2

我有许多报告部署到 SQL Server 2005 Reporting Services 服务器。它们都是使用相同的报告模型 (SDML) 开发的,该模型引用了相同的数据源视图 (DSV),该数据源视图 (DSV) 指向一个填充了大部分虚拟数据的测试数据库。现在,我想让这些报告用我们的真实数据从实时数据库中提取数据。这两个数据库具有完全相同的结构。

在我看来,如果我可以更改数据源视图中引用的数据源,那么我可以重新部署报表模型,并且基于它的所有报表也将引用正确的数据。我可以在 Business Intelligence Development Studio 2005 中看到,在设计模式下的数据源视图属性列表中有一个选项可以更改数据源。所以我改变了数据源,认为这会起作用。但是,当我在数据源视图中更改数据源后尝试重新部署报表模型时,会收到许多类似这样的错误消息:

错误 1 ​​实体“地址”的表属性引用表“dbo_address”,该表不在主数据源中。事件.smdl 0 0

还有什么我需要在这里做的吗?报告模型或数据源视图中应该更新的内容?还有其他方法可以做我需要做的吗?

编辑1:

部署报告后,我尝试在服务器上更改报告模型的数据源,这似乎工作得很好。这不完全是我想做的,但它确实有效。谢谢大家。

4

4 回答 4

2

最适合我的策略是将“测试”共享数据源部署到服务器,然后通过报表管理器界面对其进行编辑以指向“生产”数据库(更改连接字符串)。确保在部署时将 Overwrite Datasources 设置为 false。

此外,您的数据库模式在测试中必须与生产中相同。

于 2009-10-07T18:11:58.530 回答
1

我对报表模型没有太多经验,但通常 SSRS 不喜欢当您更改数据源并要求您刷新所有数据集时,如果您这样做了。

或者,只需更改报表服务器本身的数据源定义。

于 2009-10-01T17:25:49.227 回答
1

听起来您正在更改 dsv 引用的数据源。相反,您为什么不尝试更改数据源的连接字符串。DSV 在内部使用 GUID 来识别各种表和字段,我怀疑通过创建新数据源 GUID 会发生变化,这就是您看到这些错误消息的原因(因为错误消息将内部使用的 GUID 映射到它的“友好名称”)。

于 2009-10-06T22:44:11.017 回答
1

我使用的设置对于每个环境都有一个同名的数据源 (.rds) 文件,位于报告部署到的同一文件夹中。这只是一个连接字符串...

我的经验与 zalzaw 的相同 - 如果更改数据源,则必须刷新与报表关联的所有数据集,同时根据数据源更改指向新环境。这非常乏味 - 您转到Business Intelligence Development Studio 2005 中报告的数据选项卡:

  1. 从下拉菜单中选择一个数据集
  2. 单击刷新按钮(数据集下拉列表右侧的第二个,图标看起来像回收)

重复步骤,直到所有数据集都已刷新。

确保数据库(和存储过程)是同步的。如果一个表存在于 Dev 但不在 Test 或 Prod 中,这一切都是徒劳的......

于 2009-10-08T04:02:04.520 回答