Подтвердить что ты не робот

Как указать Crystal Reports в новой базе данных

У меня есть пользователь Crystal Reports 2008, который имеет более 100 настраиваемых отчетов. Все отчеты запрашивают базы данных Sql Server (SQL 2005).
Этот сервер базы данных заменяется новой системой (работает SQL 2008 R2), и существующие базы данных будут перемещены на новый сервер. Новый сервер базы данных будет иметь другое имя (которое я могу адресовать через соединения Crystal Reports) однако одно из приложений также обновляется одновременно. Старая база данных (DB_A) будет восстановлена ​​на новом сервере для исторической отчетности и будет создана новая база данных (DB_B). Новый DB_B будет иметь очень похожую схему, поэтому я ожидал бы, что большинство Crystal Reports должны работать против нового DB_B с небольшой или никакой модификацией, кроме указания определения отчета в новом DB_B.

Конечно, большинство моих пользователей разработали специальный запрос отчетов по DB_A.

Мой вопрос: как мне изменить существующие файлы Crystal Reports, чтобы указать на новое имя базы данных (DB_B) вместо старой базы данных (DB_A)?

4b9b3361

Ответ 1

Используйте меню "База данных" и "Установить местоположение источника данных", чтобы изменить имя или расположение каждой таблицы в отчете.

Это работает для изменения местоположения базы данных, перехода на новую базу данных и изменения местоположения или имени отдельной таблицы, используемой в вашем отчете.

Чтобы изменить подключение к источнику данных, откройте меню "База данных" и нажмите "Установить расположение источника данных".

  • Измените подключение к источнику данных:
    • В списке Current Data Source (верхний бокс) щелкните один раз на подключении к источнику данных, которое вы хотите изменить.
    • В списке "Заменить со списком" (нижнее поле) щелкните один раз на новом подключении к источнику данных.
    • Нажмите "Обновить".
  • Изменение индивидуальных таблиц:
    1. В списке Current Data Source (верхний бокс) разверните соединение с источником данных, которое вы хотите изменить.
    2. Найдите таблицу, для которой вы хотите обновить местоположение или имя.
    3. В списке "Заменить со списком" (нижнее поле) разверните новое подключение к источнику данных.
    4. Найдите новую таблицу, которую хотите обновить, чтобы указать на.
    5. Нажмите "Обновить".
    6. Обратите внимание, что если имя таблицы было изменено, старое имя таблицы все равно будет отображаться в полевом проводнике, даже если теперь используется новая таблица. (Вы можете подтвердить это, посмотрев на имя таблицы свойств таблицы в Current Data Source в Set Datasource Location. Снимок экрана http://i.imgur.com/gzGYVTZ.png) Можно переименовать старую таблицу имя для нового имени из контекстного меню в Database Expert → Selected Tables.
Изменить Subreports:
  1. Повторите каждый из вышеперечисленных шагов для любых вложенных отчетов, которые вы могли встроить в свой отчет.
  2. Закройте окно Set Datasource Location.
Любые команды или выражения SQL:
  1. Перейдите в меню "База данных" и выберите "Эксперт базы данных".
  2. Если дизайнер отчетов использовал команду "Добавить команду" для написания собственного SQL, он будет показан в поле "Выбранные таблицы" справа.
  3. Щелкните правой кнопкой мыши эту команду и выберите "Редактировать команду".
  4. Проверьте, указывает ли этот SQL конкретную базу данных. Если это возможно, вам может потребоваться изменить его.
  5. Закройте окно "Эксперт базы данных".
  6. В поле "Проводник полей" справа щелкните правой кнопкой мыши любые SQL-выражения.
  7. Убедитесь, что SQL-выражения задают конкретную базу данных. Если это так, возможно, вам также придется изменить его.
  8. Сохраните и закройте окно редактора формул, когда вы закончите редактирование.

И попробуйте запустить отчет еще раз.

Ключ должен сначала изменить подключение к источнику данных, а затем любые таблицы, которые необходимо обновить, а затем другой материал. Соединение не будет автоматически менять таблицы внизу. Эти столы похожи на гусениц, которые были отпечатаны на первом большом гусином животном, которое они видят. Они будут продолжать обходить все причины и логику и идти туда, куда они всегда уходили, если вы специально не изменили их вручную.

Чтобы сделать его более удобным, здесь совет: вы можете "Показать SQL-запрос" в меню "База данных", и вы увидите имена таблиц, соответствующие базе данных (например, "Продажи" ). "dbo". "Клиенты" ) для любых таблиц, которые идут прямо в конкретную базу данных. Это может облегчить охоту, если у вас много чего происходит. Когда я решил эту проблему, мне пришлось изменить каждую таблицу, чтобы указать на новую таблицу в новой базе данных.

Ответ 2

Выберите базу данных | Set Datasource Location... Выберите базу данных node (желто-желтый цилиндр) текущего соединения, затем выберите базу данных node требуемого соединения (возможно, вам потребуется пройти аутентификацию), а затем нажмите "Обновить".

Вам нужно будет сделать это и для узлов Subreports.

FYI, вы также можете делать отдельные таблицы, выбирая их индивидуально, а затем выбрав "Обновить".