Проблемы с использованием представлений непосредственно в Crystal Reports с несколькими базами данных - PullRequest
1 голос
/ 06 декабря 2011

Работа с Crystal Reports в среде с несколькими базами данных. В прошлом отчеты были написаны не по общему признаку (см. Рисунок). Попытка убрать этот беспорядок, обеспечивая новые результаты. Клиенты не понимают и всегда стремятся к кратчайшему пути и не видят необходимости в очистке / настройке существующих отчетов, чтобы сделать их общими для всех систем.

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

Решение состоит в том, чтобы обновить ссылку на представление на панели «Задать местоположение источника данных».

Интересно мнение людей об использовании представлений в отчетах кристаллов. И если они попали в эту ситуацию раньше.

Очевидно, что представления имеют свое применение, но я не вижу смысла добавлять еще один слой между отчетом и оператором (ами) sql, создавая конкретное представление для отчета, когда sql можно подключить прямо к отчету. Только процедуры базы данных имеют смысл для меня, когда вы хотите делать более сложные вычисления и вывод.

Примечания

  • Отчет отлично работает из меню приложений для различающихся
    системы (без изменения источника данных кристалла) SAP B1.
  • Эта проблема НЕ затрагивает те отчеты, которые используют представления косвенно.

Псевдо-скриншот: Задать местоположение источника данных (панель)

Current Datasource:
Report
   server
      properties
         initial catalog: other database

      view
         properties
            catalog: original database

1 Ответ

1 голос
/ 06 декабря 2011

Исходя из нашего опыта, использование представлений для нескольких серверов / баз данных (или даже таблиц с NN-связями) является предпочтительным способом.Если что-то изменится в структуре базы данных или конфигурации серверов, что вы предпочитаете - изменить одно представление или несколько связанных отчетов?

Конечно, это может быть связано с тем фактом, что наши отчеты предназначены для работы с одной базой данных.Наше приложение всегда заменяет все включенные местоположения источника данных (таблицы, представления) на текущую базу данных, что позволяет легко создавать отчеты по различным базам данных (включая MSAccess и MSSQL).Такой подход исключает отчеты между базами данных, если не используются представленияВ наших отчетах также используется интерфейс OLEDB, не связанный с источниками-соединениями, открытыми в приложении.

Иногда возникают проблемы в конструкторе, когда он открывается непосредственно с файлом отчета;Установка местоположения источника данных обычно исправляет их (вам может понадобиться установить местоположение и для определенных видов).При открытии через наше приложение, которое сохраняет копию отчета с исправленной информацией базы данных, дизайнер работает безупречно.

И иногда возникают проблемы с базовыми представлениями, которые нельзя легко перенести в другую структуру базы данных.К счастью, определения представления могут быть изменены без изменения формата вывода:)

О клиентах - они, конечно, не хотят менять свои рабочие отчеты.Вы можете быть уверены, что вносите некоторые ошибки при замене их отчетов более универсальными - кто этого хочет?Никто.

...