Я использую интерфейс 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-соединения.
Есть ли способ создать SQLConnection, который использует строку подключения и учетные данные имени пользователя и пароля источника данных?
Я использую Reporting Services 2008 и .NET 3.5 с веб-ссылками на ReportService2005.asmx и ReportExecution2005.asmx