具有执行帐户的SSRS - 自定义连接字符串和凭据设置

时间:2015-03-04 21:28:54

标签: c# sql-server reporting-services reportingservices-2005 rdl

我们在SQL 2005 Server Reporting Services上发布了一大堆rdl文件。 SSRS上有一个执行帐户,我们用它来检索报告的数据。这些现有的rdl使用共享数据源并设置了“Credentials Not Required”选项。由于执行帐户是在SSRS上设置的,因此数据源无需用户凭据即可运行。

我正在尝试添加一个新报告,该报告必须与其他报告位于同一位置,区别在于它使用如下自定义连接字符串:

<DataSources>
    <DataSource Name="DataSource1">
      <rd:DataSourceID>41caaa2-1111-2222-4444-466666666666</rd:DataSourceID>
      <ConnectionProperties>
        <DataProvider>SQL</DataProvider>
        <ConnectString>="Data Source=" &amp; Parameters!dbServer.Value &amp; ";Initial Catalog=" &amp; IIf(Parameters!countryCode.Value = " ","SampleDB","SampleDB" &amp; Parameters!countryCode.Value)&amp;";Integrated Security=SSPI;Trusted_Connection=True;"</ConnectString>
      </ConnectionProperties>
    </DataSource>
  </DataSources>

创建此rdl时,我将凭据选项设置为“Credentials not required”,就像用于其他报告的共享数据源一样。当我手动将此rdl文件上载到我的SSRS时,自定义连接字符串保持不变,并且凭据仍然在“Credentials not required”中指定。

问题是,当我们使用自定义安装程序将此文件提升到我们的测试和生产区域时,自定义连接字符串保持不变,但凭据选项更改为“Windows身份验证”或更改为“运行报表的用户提供的凭据” 。在我们的安装程序代码中,我们有一个用C#编写的自定义操作,使用它来将所有rdl发布到SSRS:

sql2005rs.ReportingService2005.CreateReport(namewithoutExtension, "/Reports List", true, definition, null);

有关为什么我在rdl中设置的凭据选项被覆盖的任何建议?我需要在自定义连接字符串中提供哪些特定选项才能使其正常工作?我还尝试使用没有集成安全性选项的连接字符串,并且不需要启用凭据。结果是相同的,即当安装程序发布报告时,它会将凭据翻转为“Windows身份验证”或“运行报告的用户提供的凭据”。

提前感谢任何指示。

此致 阿里。

0 个答案:

没有答案