是否有一种方法硬编码连接字符串到RDLC
本文关键字:编码 连接 字符串 RDLC 方法 一种 是否 | 更新日期: 2023-09-27 18:05:29
我需要制作一个将在本地处理报告的报告查看器。我有带有查询的RDL文件。是否有一种方法来插入约定字符串报表的XML代码,以便报表可以直接从数据库获取数据?报告将显示在MS reportViewer中
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition">
<DataSources>
<DataSource Name="BIA">
<DataSourceReference>BIA</DataSourceReference>
<rd:DataSourceID>98fa74a9-d829-4196-be9d-49697ded5201</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="RelItems">
<Fields>
<Field Name="RelItemID">
<DataField>RelItemID</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="SSISPackageName">
<DataField>SSISPackageName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<Query>
<DataSourceName>BIA</DataSourceName>
<CommandText>select b.ID as RelItemID, SSISPName --+ ' ('+s.Name + ' -> ' + d.Name + ')'
as SSISPackageName
from dbo.RelTypes_ProvTypes a
inner join dbo.RelItems b on a.RelTypeID = b.RelTypeID
inner join dbo.ObjItems s on b.ObjItemIDSource = s.ID and a.ObjTypeIDSource = s.ObjTypeID
inner join dbo.ObjItems d on b.ObjItemIDDest = d.ID and a.ObjTypeIDDest = d.ObjTypeID
where SSISPName is not null
order by 2</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
</DataSet>
... and so on
这是我的RDL。任何其他提示或帮助是受欢迎的,只需要使它工作:)
RDL文件包含不像使用ReportViewer控件那样存储在RDLC文件中的查询信息。如果您希望在ReportViewer中使用SSRS之外的RDL文件,那么您可以在以本地模式运行报表时从代码中设置数据源属性。这样,您就可以在构建数据源时将连接字符串设置为您想要的任何值。
ReportViewer1.Reset()
ReportViewer1.LocalReport.DataSources.Clear()
ReportViewer1.LocalReport.ReportPath = <yourfilepath>
ReportViewer1.LocalReport.DataSources.Add(<yourdatasource>)
ReportViewer1.LocalReport.Refresh()
(显然这段代码是VB)