【发布时间】:2009-08-13 19:54:44
【问题描述】:
我正在Reporting Service 2005 做一些工作。我需要调用一个 COM 对象,所以我将调用包装在自定义程序集中。该方法在预览中有效。但是当我部署报告时,我遇到了#Error。微软对此有一个KB article。
它说我必须在我的自定义程序集中声明权限。
但我不知道我应该声明什么权限?我的方法是这样的:
public static String myEnocde(String strDataToEncode)
{
//Get IDispatch Interface
Type objEncoderType = Type.GetTypeFromProgID("ProgID");
//Create Instance
object objEncoder = Activator.CreateInstance(objEncoderType);
// parameter
object[] parameters = new Object[1];
parameters[0] = strDataToEncode;
try
{
//Invoke Encode
Object resultObject = objEncoder.GetType().InvokeMember("Encode", BindingFlags.InvokeMethod,
Type.DefaultBinder, objEncoder, parameters);
String strResult = (String)resultObject;
return strResult;
}
catch( Exception theException )
{
<more code here>
}
}
代码动态启动 COM 对象,并使用后期绑定调用其方法。
我在rssrvpolicy.config 中添加了CodeGroup。该字段仍显示“#Error”。
【问题讨论】:
标签: .net sql-server reporting-services