Хотя я не уверен, как ответить на ваш вопрос напрямую, я столкнулся с той же самой проблемой, и вот мое решение:
В C # я просто получил доступ к отчету локально и переопределил источник данных любыми данными, которые я хотел предоставить:
using (var report = new LocalReport())
{
report.ReportPath = @"C:\Sample.rdlc";
report.DataSources.Clear();
report.DataSources.Add(new ReportDataSource("MyDataSet", yourDataSet));
var bytes = report.Render("PDF");
}
Затем в XML-файле RDLC я просто указал фиктивный источник данных, а затем вручную установил значения моего собственного набора данных:
<DataSources>
<DataSource Name="Dummy">
<DataSourceReference>Dummy</DataSourceReference>
<rd:DataSourceID>bd7d6037-aff5-4ce5-a156-a75f8c1e660b</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="MyDataSet">
<Fields>
<Field Name="Name">
<DataField>Name</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Amount">
<DataField>Amount</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
</Fields>
<Query>
<DataSourceName>Dummy</DataSourceName>
<CommandText />
</Query>
</DataSet>
</DataSets>
Это отлично сработало для меня.