Как я могу изменить источник представления источника данных и основанные на нем модели отчетов на другую базу данных? - PullRequest
2 голосов
/ 01 октября 2009

У меня есть ряд отчетов, развернутых на сервере служб отчетов SQL Server 2005. Все они были разработаны с использованием одной и той же модели отчетов (SDML), которая ссылается на то же представление источника данных (DSV), которое указывает на тестовую базу данных, заполненную в основном фиктивными данными. Теперь я хотел бы, чтобы эти отчеты извлекали данные из действующей базы данных вместо наших реальных данных. Две базы данных имеют абсолютно одинаковую структуру.

Мне кажется, что если бы я мог просто изменить источник данных, на который ссылаются в представлении источника данных, то я мог бы повторно развернуть модель отчета, и все основанные на ней отчеты также ссылались бы на правильные данные. В Business Intelligence Development Studio 2005 я вижу, что в списке свойств «Просмотр источника данных» в режиме «Дизайн» есть возможность изменить источник данных. Поэтому я изменил источник данных, думая, что это сработает. Однако, когда я пытаюсь повторно развернуть модель отчета после изменения источника данных в представлении источника данных, я получаю ряд сообщений об ошибках, подобных этому:

Ошибка 1 Свойство Table объекта «Address» относится к таблице «dbo_address», которой нет в первичном источнике данных. Events.smdl 0 0

Есть ли что-то еще, что мне нужно здесь делать? Что-то в модели отчета или представлении источника данных, которое должно быть обновлено? Есть ли другой способ сделать то, что мне нужно?

Редактировать 1:

Я пытался изменить источник данных модели отчета на сервере после развертывания отчетов, и это, похоже, работало довольно хорошо. Это не точно , что я хотел сделать, но это работает. Спасибо всем.

Ответы [ 4 ]

2 голосов
/ 07 октября 2009

Лучшая стратегия для меня - развернуть «тестовый» общий источник данных на сервере, а затем отредактировать его через интерфейс диспетчера отчетов, указав «производственную» базу данных (изменив строку подключения). При развертывании убедитесь, что для параметра Перезаписать источники данных установлено значение false.

Кроме того, ваша схема базы данных должна быть такой же в тесте, как и в рабочей.

1 голос
/ 08 октября 2009

Используемая мной настройка содержит файл источника данных (.rds) с одинаковым именем для каждой среды, в той же папке, в которой развертываются отчеты. Это просто строка подключения ...

Мой опыт был таким же, как у zalzaw - если вы измените источник данных, вам придется обновить все наборы данных, связанные с отчетом, указывая на новую среду на основе источник данных изменяется. Это очень утомительно - перейдите на вкладку Данные для отчета в Business Intelligence Development Studio 2005:

  1. Выберите набор данных из выпадающего меню
  2. Нажмите кнопку Обновить (2-й справа от выпадающего набора данных, значок выглядит как recycle)

Повторяйте шаги, пока все наборы данных не будут обновлены.

Убедитесь, что базы данных (и хранимые процедуры) синхронизированы. Ничего страшного, если в Dev есть таблица, а в Test или Prod нет ...

1 голос
/ 07 октября 2009

Похоже, вы меняете источник данных, на который ссылается dsv. Вместо этого, почему бы вам не попробовать изменить строку подключения источника данных. Внутренне DSV использует GUID для идентификации различных таблиц и полей, я подозреваю, что при создании нового источника данных GUID изменится, и именно поэтому вы видите эти сообщения об ошибках (поскольку сообщение об ошибке отображает используемый GUID внутри "дружеское имя").

1 голос
/ 01 октября 2009

У меня не так много опыта работы с моделями отчетов, но обычно SSRS не нравится, когда вы вносите изменения в источник данных, и просит вас обновить все наборы данных, которые у вас есть, если вы это сделаете.

Либо просто измените определение источника данных на самом сервере отчетов.

...