C# 如何将设备信息传递给SSRS订阅?

C# 如何将设备信息传递给SSRS订阅?,c#,ssrs-2008,C#,Ssrs 2008,我的团队和我,我们正在尝试创建订阅并以CSV格式导出报告,但我们需要将字段分隔符从“,”(这是默认值)更改。我们如何以编程方式(C#)将设备信息传递给SSRS(2008)订阅 我们有一个关于ReportingServices2005的网络参考。以下是我们的代码的示例: string report = "Insert report here"; string desc = "A description"; string eventType = "TimedSubscription"; string

我的团队和我,我们正在尝试创建订阅并以CSV格式导出报告,但我们需要将字段分隔符从“,”(这是默认值)更改。我们如何以编程方式(C#)将设备信息传递给SSRS(2008)订阅

我们有一个关于ReportingServices2005的网络参考。以下是我们的代码的示例:

string report = "Insert report here";
string desc = "A description";
string eventType = "TimedSubscription";
string matchData = "<ScheduleDefinition>...</ScheduleDefinition>";
string RenderFormat = "CSV";
ParameterValue[] reportParameters = GetReportParameters();

var extensionParams = new List<ParameterValue>();
extensionParams.Add(new ParameterValue
{
    Name = Constants.EXTENSIONPARAMRENDER_FORMAT,
    Value = RenderFormat
});
extensionParams.Add(new ParameterValue
{
    Name = Constants.EXTENSIONPARAMFILENAME,
    Value = FileName
});
// Insert more params here...

ExtensionSettings extSettings = new ExtensionSettings();
extSettings.ParameterValues = extensionParams.ToArray();
extSettings.Extension = Constants.EXTENSIONREPORTSERVERFILESHARE;

try
{
    ReportingService2005 rs = new ReportingService2005();
    rs.CreateSubscription(
        report, extSettings, desc, eventType, matchData, reportParameters);
}
catch (SoapException e)
{
    // Handle the exception
}
string report=“在此处插入报告”;
string desc=“描述”;
string eventType=“TimedSubscription”;
字符串matchData=“…”;
字符串RenderFormat=“CSV”;
ParameterValue[]reportParameters=GetReportParameters();
var extensionParams=新列表();
extensionParams.Add(新参数值
{
Name=Constants.EXTENSIONPARAMRENDER\u格式,
值=渲染格式
});
extensionParams.Add(新参数值
{
Name=Constants.EXTENSIONPARAMFILENAME,
值=文件名
});
//在此处插入更多参数。。。
ExtensionSettings extSettings=新的ExtensionSettings();
extSettings.ParameterValues=extensionParams.ToArray();
extSettings.Extension=Constants.EXTENSIONREPORTSERVERFILESHARE;
尝试
{
ReportingService2005 rs=新的ReportingService2005();
rs.CreateSubscription(
报告、extSettings、desc、eventType、matchData、reportParameters);
}
捕获(SOAPE例外)
{
//处理异常
}
我们找不到传递设备信息的方法,这可能吗

有关更多信息,请查看:

您不能将
DeviceInfo
传递给
CreateSubscription()
方法,但这两种方法中的一种可能对您有用

  • 请参阅创建默认“CSV”扩展的新版本,您可以在其中配置所需的
    DeviceInfo
    。所以你可以在你的配置文件中添加这样一个部分

    <Extension Name="CsvPipeDelimited" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering">
      <Configuration>
        <DeviceInfo>
          <Extension>txt</Extension>
          <FieldDelimiter>|</FieldDelimiter>
          <NoHeader>false</NoHeader>
        </DeviceInfo>
      </Configuration>
    </Extension>
    
    extensionParams.Add(new ParameterValue
    {
        Name = "RenderFormat",
        Value = "CsvPipeDelimited"
    });