У нас есть несколько сайтов SSRS, обслуживающих отчеты в разных местах. Каждый из этих серверов имеет собственные подключения в каждом отчете (не спрашивайте почему, это слишком жарко, чтобы рассказывать). Наша цель - заменить все эти пользовательские источники данных одним общим источником данных для всех отчетов на каждом сервере.
Для этого я создал программу C#, которая будет находить каждый отчет на каждом сервере и указывать текущие пользовательские источники данных на существующий в настоящее время общий источник данных. Это выполняется и, кажется, работает нормально.
Моя следующая цель - использовать C# для создания общего источника данных на каждом сервере, где в данный момент не существует ни одного.
Моя текущая дилемма возникает здесь:
private static void CreateSharedDataSource(string user, string password, string connection)
{
DataSourceDefinition source = new DataSourceDefinition();
source.CredentialRetrieval = CredentialRetrievalEnum.Store;
source.ConnectString = connection;
source.Enabled = true;
source.EnabledSpecified = true;
source.Extension = "SQL";
source.ImpersonateUser = false;
source.ImpersonateUserSpecified = false;
source.Prompt = "Enter a user name and password to access the data source:";
source.UserName = user;
source.Password = password;
source.WindowsCredentials = true;
source.OriginalConnectStringExpressionBased = true;
source.UseOriginalConnectString = true;
try
{
service.CreateDataSource("DbDataSource", "/DsFolder", false, source, null);
Console.WriteLine("Data source created successfully");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
Источник данных создан правильно, а имя пользователя и пароль обновлены правильно. Проблема в том, что, когда я смотрю на вновь созданный источник данных на сервере, свойство строки Connect становится пустым, и да, правильное значение передается ему в методе выше. Если я подключаю это значение к общему источнику на сервере и проверяю соединение, оно работает нормально, но я не могу заставить программу C# обновить это значение.
Итак, есть ли что-то тонкое, что я ' м отсутствует? Я неправильно понимаю настройку там? Я неправильно установил значение?
Подсказки оценены.