0

我正在使用VS.NET 2005SQL Server 2005。我的开发计算机运行的是Windows XP SP2。SQL Server 2005 数据库和报告服务在Windows 2003 Server上运行。

我的业务需求是开发和部署一个报告,该报告采用存储在数据库(datatype = TEXT )中的富文本( RTF ),并在运行时使用自定义程序集将其转换为图像(源代码可在此处找到http://blogs. digineer.com/blogs/jasons/archive/2006/10/03/520.aspx)。我可以使用ReportManager Web 界面和Render方法在我的本地(即开发人员)计算机上生成和查看包含 RTF 的动态图像。当我将它部署到我们的测试服务器时,我最终得到了一个损坏的链接图像。

回顾一下,我采取了以下步骤。

使用将 RTF 转换为位图图像的 VS.NET 2005创建了自定义程序集。自定义程序集有一个强名称。

在本地开发者机器上

  1. 将自定义程序集复制到 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE**PrivateAssemblies**。
  2. 修改C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies**RSReportDesigner.config** 以包含一个CodeGroup,该 CodeGroup 将 FullTrust 授予基于StrongNameMembership的自定义程序集(注意:ReadMe.txt 未提及添加条目到这个文件)。
  3. 修改C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies**RSPreviewPolicy.config** 以包含一个CodeGroup,该 CodeGroup 将 FullTrust 授予基于 StrongNameMembership 的自定义程序集(注意:ReadMe.txt 未提及添加条目到这个文件)。

使用 VS.NET 2005 修改报告如下

  1. 添加了对自定义程序集和 System.Drawing 的引用。
  2. 添加了 type= Database, MimeType= image/bmp, Value = call to custom assembly method 的图像控件;方法传递包含 RTF 的数据库字段的值。
  3. 部署报告。
  4. 通过 HTML 和使用 EXCEL 作为输出格式的 WebService 的 Render 方法成功查看报告。 图像的 HTML

在本地开发者机器和服务器上

  1. 将自定义程序集复制到 C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin
  2. 修改C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer**rssrvpolicy.config** 以包含一个 CodeGroup,它根据StrongNameMembership将 FullTrust 授予自定义程序集(注意:源代码表明权限应该基于在 UrlMembership上)。
  3. 部署报告。
  4. 通过 HTML 和使用 EXCEL 作为输出格式的 WebService 的 Render 方法查看报告均失败。图像的 HTML

最初,我在导出到 Excel 时收到“数据丢失”的错误消息,但这些似乎已通过在 ReadMe.txt 中未提及的 .config 文件中授予权限来解决。我已经没有办法尝试了,我束手无策。我确信该解决方案与权限有关,因为它适用于我的计算机但不适用于服务器。

提前感谢您的任何想法或建议。

问候,

账单

4

1 回答 1

0

您是否授予您的程序集访问测试服务器上的数据库所需的权限?(看起来你做到了。)

如果是这样,请检查您是否真的在测试服务器上创建图像。如果不是,那么这是一个写权限问题。如果它正在创建但无法查看,那么这是一个读取权限问题。

于 2009-05-29T20:37:55.030 回答