gpt4 book ai didi

c# - 如何获取 SSRS 数据源凭据并在 .NET 中打开 SQL 连接

转载 作者:行者123 更新时间:2023-11-30 22:50:25 25 4
gpt4 key购买 nike

我正在使用 ASP.Net 和 C# 前端来运行一些报告。我想打开一个 SQL 连接到报表使用的数据源。

当报告使用集成安全性时,创建连接非常容易,但是我想在报告服务器存储用户名和密码时创建连接。

我可以获取 SQL Server 路径和初始目录,使用

    DataSource[] dataSources;
DataSourceReference dsReference;
DataSourceDefinition dsDefinition;
string dsPath;
ReportingService2005 rs = new ReportingService2005();

dataSources = rs.GetItemDataSources(reportPath);
if (dataSources.Length > 0)
{
dsReference = (DataSourceReference)dataSources[0].Item;
dsPath = dsReference.Reference;
dsDefinition = rs.GetDataSourceContents(dsPath);
// ....
}

我也可以使用

获取用户名
    username = dsDefinition.UserName;

但是如果我使用

    password = dsDefinition.Password;

password = null,不能用于打开Sql Connection。

有没有办法创建一个使用数据源的连接字符串和用户名密码凭据的 SQLConnection?

我正在使用 Reporting Services 2008 和 .NET 3.5 以及对 ReportService2005.asmx 和 ReportExecution2005.asmx 的 Web 引用

最佳答案

我真的不认为这是可能的,因为这几乎构成了一个安全漏洞。我知道这不是您正在寻找的答案,但我会参数化您报告的位置(即您的 MSRS 服务器的 IP/名称)并将它们与匹配的 SQL 实例一起存储在您的 web.config 中。虽然这并不完全是您所追求的,但我认为这与您将要达到的目标差不多。

关于c# - 如何获取 SSRS 数据源凭据并在 .NET 中打开 SQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/604900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com