Обновить общий путь к источнику данных всех отчетов SSRS для разных путей

Я работаю над SSRS Report.

Недавно я изменил местоположение папки всех отчетов SSRS на другой путь. Также мне нужно изменить путь к источнику данных. (Поскольку я переместил отчеты снова, мне нужно установить Datasource), поэтому я не могу его вручную, перейдя в « Manage .

Но существует ли какой-либо способ быстрого доступа к источнику данных для всех отчетов SSRS ?

Наконец, я нашел решение и сделал свой день.

Я потратил 5 часов на то, чтобы найти решение.

Чтобы обновить общий путь к Datasource Datasource – необходимо обновить таблицу Datasource Report Server .

 SELECT cLog.Path,dSource.name FROM DataSource AS dSource JOIN CATALOG AS cLog ON cLog.ItemID = dSource.ItemID WHERE dSource.flags = dSource.flags AND dSource.Link IS NULL AND dSource.ConnectionString IS NULL AND dSource.NAME = 'NameofDatasource' AND cLog.path LIKE '%foldername%' ORDER BY PATH 

Он покажет все отчеты, у которых нет строки подключения. Итак, теперь вы должны обновить свой [Link] .

Примечание. Чтобы получить последние [Link] – вам нужно настроить один из отчетов, вручную настроив путь Datasource и выполнив ниже запрос, это предоставит вам последнюю [Link] .

 SELECT ds.Link FROM DataSource AS ds JOIN CATALOG AS c ON c.ItemID = ds.ItemID WHERE ds.NAME = 'NameofDatasource' AND c.path LIKE '%foldername%' AND ds.Link IS NOT NULL 

Теперь остается только обновить его тем же предложением where. Поэтому он будет обновлять последние [Link] ко всем отчетам.

 UPDATE dSource set [Flags] = [Flags] | 2, [Link] = 'PutLatestLink' FROM DataSource AS dSource JOIN CATALOG AS cLog ON cLog.ItemID = dSource.ItemID WHERE dSource.flags = dSource.flags AND dSource.Link IS NULL AND dSource.ConnectionString IS NULL AND dSource.NAME = 'NameofDatasource' AND cLog.path LIKE '%foldername%' 

Примечание. Будьте внимательны, если вы выполняете этот запрос непосредственно на реальном сервере. Впервые попробуйте обновить только один конкретный отчет с указанным выше запросом, а затем сделать для других, если он действительно нужен и работал нормально.

Вы можете использовать утилиты RS.exe или ReportSync для перемещения отчетов и источников данных.

Также вы можете обновить таблицу Catalog из базы данных ReportServer с помощью сценария T-SQL.

Используйте этот запрос, чтобы изучить путь к источникам данных.

 SELECT a.Name, b.Path FROM DataSource a INNER JOIN Catalog b ON a.ItemID = b.ItemID 

ОБНОВЛЯЙТЕ path для источников данных для указания пути отчета. Обратите внимание, что он будет работать, если DataSource не является общим источником данных, развернутым в определенной папке.

 UPDATE b SET b.Path = '<your_path>' FROM DataSource a INNER JOIN Catalog b ON a.ItemID = b.ItemID WHERE a.Name IN ('Datasource1', 'Datasource2') 

Я не уверен в этом, так как не могу попробовать в этот момент, поэтому рекомендую использовать принятые инструменты миграции RS.exe или ReportSync .

Дайте мне знать, если это вам поможет.

  • Как фильтровать столбец, используя список параметров нескольких значений в SSRS
  • Сброс параметров SSRS при изменении параметра даты
  • Отобразить имя столбца SQL как значение строки в SSRS-матрице
  • Как найти недопустимый символ Char в таблице SQL
  • Подводный отчет не может быть показан. Под-отчет работает отдельно - не с основным докладом
  • SSRS - повторное использование временной таблицы в нескольких наборах данных
  • Как удалить интервал между столбцами в столбчатой ​​диаграмме SSRS 2012
  • Перемещение только подписки с SSRS 2008 на SSRS 2012
  • Как преобразовать отчет SSRS в файл .svc с помощью запланированного задания?
  • Параметр SSRS multi-select не может записывать значения с запятой
  • Как перемещать столбцы деталей между родительскими группами в SSRS
  • Interesting Posts

    Обновление представления базы данных с помощью SqlDataAdapter

    Как создать представление в базе данных SQL Server с помощью C #?

    Может ли администратор просматривать зашифрованные данные с помощью SQL Server 2016 всегда зашифрованной функции?

    Поле приращения в выражении Select

    SQL Server query timeout после запуска несколько раз, только исправить DROPCLEANBUFFERS или перезапустить SQLServer

    Используя SqlTransaction в C #, как получить выходной параметр из хранимой процедуры и вставить в другую таблицу?

    Почему SQL-сервер сортирует кластерный индексный столбец слияния с таблицей

    Не работает, если в SQL Server существует блокировка объекта

    Фрагментация с высокой степенью развертки, но низкая фрагментация логического сканирования

    Как присоединиться к одному столу и отступить к другому?

    Формат dd.mm.yyyy hh: mm на сервере Sql

    Фильтровать SQL-данные в соответствии с различными параметрами без предложения WHERE

    T-SQL IS NOT NULL vs NOT NULL производительность

    Как получить sysdate с различными форматами?

    Когда я запускаю параметризованный запрос C #, время истекает. Тот же запрос с жестко заданными параметрами работает отлично

    Давайте будем гением компьютера.