我正在使用SQL Server 2012和Visual Studio 2010 Shell开发SSIS包。
我需要在我的脚本任务中使用Web方法,并且我能够在Windows 7上运行此脚本而没有任何问题。此Web服务需要我在个人计算机商店中安装的证书。
但是,当我将此项目移动到Windows Server 2008 R2时,包显示没有任何理由。我在错误列表上没有编译错误,如果构建脚本任务它将成功,但是当我完成编辑脚本时,将出现一个消息框,其中包含以下错误消息:
“包中包含的脚本有编译错误。您要保存更改吗?”
如果我从脚本任务中删除了Web引用,则不会显示此消息。
由于这个原因,包不会运行。我在事件查看器上检查了错误详细信息,但它只显示“程序包失败”,并且没有关于此问题的详细信息。这可能与证书问题有关吗?是否有错误日志或方式来了解导致程序包失败的更多详细信息?
谢谢。
答案 0 :(得分:1)
您不必担心Web服务本身所需的证书安全问题。
SSRS Web服务器不允许加载标记为“不安全”的程序集 - 这几乎是I / O的任何内容。我曾经将.Net Forms程序集的引用添加到SSRS报告中,以便使用其富文本功能。它在Visual Studio中运行得非常好,但是一旦部署到SSRS Web服务器,它就永远不会运行。我确信它可以起作用,但由于其他优先事项,我实际上放弃了工作,因为我尝试的一切都没有用。
在线搜索添加自定义程序集会产生一些有用的信息,以使自定义程序集正常工作。以下是一些关键步骤:
[assembly:AllowPartiallyTrustedCallers]
,以便SSRS可以使用它。