Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法将连接字符串硬编码到RDLC?_C#_Reporting Services_Rdlc_Rdl - Fatal编程技术网

C# 有没有办法将连接字符串硬编码到RDLC?

C# 有没有办法将连接字符串硬编码到RDLC?,c#,reporting-services,rdlc,rdl,C#,Reporting Services,Rdlc,Rdl,我需要使报表查看器能够在本地处理报表。 我用querys得到了RDL文件。有没有办法将conenction字符串插入到 报表的XML代码,以便报表可以直接从数据库获取数据?报告将 将显示在MS reportViewer中 <?xml version="1.0" encoding="utf-8"?> <Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="h

我需要使报表查看器能够在本地处理报表。 我用querys得到了RDL文件。有没有办法将conenction字符串插入到 报表的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 + ' -&gt; ' + 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中的SSR之外使用RDL文件,则可以在本地模式下运行报告时通过代码设置datasource属性。这样,您可以在构建数据源时将连接字符串设置为所需的任意值

ReportViewer1.Reset()
ReportViewer1.LocalReport.DataSources.Clear()
ReportViewer1.LocalReport.ReportPath = <yourfilepath>
ReportViewer1.LocalReport.DataSources.Add(<yourdatasource>)
ReportViewer1.LocalReport.Refresh()

显然,这段代码是VB

Tnx on response。。。问题是,新的报告可以添加到应用程序中,所以我想在报告中使用sql。每次添加新报表时,都要用代码添加所有数据集,这是一项艰巨的任务。我发现在datasource中可以添加连接字符串。。但是如果我做错了,我需要帮助。98fa74a9-d829-4196-be9d-49697ded5201 SQL。。。IntegratedSecurity>truedb我试图连接的是MS-SQLI,这可能是错误的,但我认为您不可能使用RDLC文件。连接字符串元素未在RDLC文件中使用,因此它被设置为/*本地连接*/,这要求您在ReportViewer.LocalReport级别设置连接。恐怕您是对的。。。所以,如果中间没有任何c代码,我就无法从Database中读取数据以直接报告?我不这么认为。这就是RDL和RDLC之间的区别之一——C代表客户端,它允许您在本地处理报表数据源。听起来你需要使用RDL,只是没有SSR,但你不能感谢你的时间。。。我厌倦了挖掘一些不存在的东西: