SQL Server Reporting Services 数据扩展
所以...这是我的故事:
我正在尝试创建一个 SQL Server 数据扩展(准确地说,我正在尝试运行一些示例代码)(SSRS2005)。
我已完成以下操作:
- 将扩展程序集放入 ReportServer/bin 文件夹中。
- 将程序集放入 Private Assemblies 文件夹中。
- 修改rsreportserver.config,将程序集信息添加到数据部分。
- 修改了rssrvpolicy.config,并为具有完全信任的程序集添加了代码组。
- 修改 PrivateAssemblies 中的 RSReportDesigner.config。将程序集添加到数据和设计器部分,指定通用查询设计器。
- 修改了 RSPreviewPolicy.config。添加了具有完全信任的程序集。
新的数据源类型可供选择,但当我尝试查看数据集时,出现此错误:无法加载数据扩展数据集。检查配置文件RSReportDesigner.config。
程序集的位置配置正确(我认为),因为我添加了日志记录代码,并且我可以看到正在调用 Connection 对象的构造函数。
事实上,我已经向程序集中每个类的每个方法添加了日志记录代码,据我所知,故障发生在调用连接对象的构造函数之后。
关于如何继续调试这个的任何想法?
多谢!
So... here's my story:
I'm trying to create a SQL server data extension (to be precise, I'm trying to get some sample code to run) (SSRS2005).
I've done the following:
- Placed the extension assembly into the ReportServer/bin folder.
- Placed the assembly into the Private Assemblies folder.
- Modified rsreportserver.config in, and added the assembly info to the data section.
- Modified rssrvpolicy.config, and added a code group for the assembly with Full Trust.
- Modified RSReportDesigner.config in PrivateAssemblies. Added the assembly to the data and the designer sections, specifying the generic query designer.
- Modified RSPreviewPolicy.config. Added the assembly with Full Trust.
The new Data Source type is available for selection, but when I try to view the dataset I get this error: The data extension DataSet could not be loaded. Check the configuration file RSReportDesigner.config.
The location of the assembly is configured properly (I think), because I've added logging code and I can see that the constructor of the Connection object is being called.
In fact, I've added logging code to every method of every class in the assembly, and as far as I can tell the failure occurs right after the connection object's constructor is called.
Any ideas on how I might proceed to debug this?
Thanks alot!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这就是问题所在:
我发现的每个 SSRS 数据扩展示例项目都附带了 Microsoft.Reporting.Interfaces.dll 的副本。事实证明,他们附带的副本与我的私人程序集和 bin 文件夹中的副本不同。当我引用“私有程序集”中存在的程序集并重新编译时,它开始工作。
所以……这个问题得到了解答,但又带来了另一个问题。
在某些时候,需要将此扩展交付给客户,那么我该如何处理潜在的程序集版本差异?
是否需要特定的服务包?
将现有版本替换为自定义数据扩展使用的任何版本是否安全?
This was the problem:
Every SSRS data extension sample project I found came along with a copy of Microsoft.Reporting.Interfaces.dll. It turned out that they copy they came with was different from the copy in my private assemblies and bin folders. When I referenced the assembly present in 'private assemblies' and recompiled it started to work.
So... this question is answered, but it brings up another problem.
At some point this extension needs to be delivered to a customer, so what do I do about the potential assembly version difference?
Is it a matter of requiring a certain service pack?
Is it safe to just replace the existing version with whatever version the custom data extension uses?