Хранение файлов Crystal Reports в базе данных?

У меня есть интерфейсный интерфейс, который говорит и управляет базой данных SQL Server, и одна из вещей, которую он может сделать, это запустить отчеты о данных в базе данных.

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

Я думал хранить файлы .rpt в самой базе данных (как Blobs) и иметь некоторый механизм для пользовательского интерфейса для их при необходимости, как способ централизовать отчеты и устранить эту проблему.

Кто-нибудь пробовал это и хорошо ли работал? Или, если вы этого не сделали, можете ли вы придумать что-нибудь, что я должен принять во внимание, прежде чем двигаться дальше? Есть ли советы, трюки или оговорки, о которых вы можете подумать, что может быть полезно для меня?

Отличный вопрос! Это похоже на совпадение, поскольку мы фактически реализовали это в течение последних шести месяцев.

Как вы предположили, мы храним rpt-файл в базе данных, но делаем это в Server 2005 как тип изображения. Он работает очень хорошо, и, поскольку база данных идет, на самом деле нет никаких оговорок, которые приходят на ум.

Очевидно, что способ доступа к этой информации изменяется с помощью API. Если вы используете C #, это означает использование BinaryReader для загрузки в rpt-файл, захват байтового массива . Этот массив байтов затем может быть передан в базу данных, через хранимую процедуру и т. Д.

Я понимаю, что вы спрашиваете конкретно о блобах и сервере 2008, но это работает как в Server 2005, так и в Server 2008 . Надеюсь, это проливает немного света.

Если вам нужны более конкретные детали, я был бы рад поделиться!

Вот отличный подкаст с Полом Рэндалом (он написал части DBCC!), Где они рассказывают о новой функции фильтрации в sql server 2008 для обработки капли, но они также входят в размеры файлов, которые делают и не работают хорошо, как blobs, как часть разговора. Я думаю, это поможет вам. http://www.runasradio.com/default.aspx?showNum=74

Я только узнал, что 25-страничный документ FILESTREAM, написанный Павлом, был опубликован на MSDN. http://msdn.microsoft.com/en-us/library/cc949109.aspx .

Основываясь на результатах исследований, приведенных ниже в этом техническом документе, BLOB размером менее 256 килобайт (КБ) (например, значки виджетов) лучше сохраняются внутри базы данных, а BLOB размером более 1 мегабайта (МБ) лучше всего хранить за пределами базы данных. Для пользователей размером от 256 КБ до 1 МБ более эффективное решение для хранения зависит от соотношения чтения и записи данных и скорости «перезаписывания». Хранение данных BLOB исключительно в базе данных (например, с использованием типа данных varbinary (max)) ограничено 2 гигабайтами (ГБ) на BLOB.

Итак, теперь все мы можем легко хранить BLOB в SQL Server, ORACLE, SQLITE, MYSQL Server и любой другой базе данных, которая того стоит. Мне интересно, после того, как вы получили массив байтов из базы данных, как вы создали отчет?

Я хочу сделать то же самое, но единственное, что я могу придумать, это вытащить файл из БД, создать физический файл в папке Temp, а затем использовать физический адрес нового файла для создания Crystal Report. Есть ли способ создать Crystal Report из потока памяти или байт-массива?

.RPT-файл можно сохранить в базе данных (sql), указав его как image.Store байт массива в базу данных, а затем получить его как поток. (СОВЕТ: рассматривать его как файл изображения.)

  • Не удалось открыть Crystal Reports
  • справа налево строка в отчете кристалла
  • исключить полную запись, если соответствующая таблица имеет определенное значение
  • Запрос SQL Server - заполнение отсутствующих дат в SQL Server с использованием таблицы Tally
  • Таблица не найдена -2147189180
  • Вставьте пустую страницу после каждой записи в Crystal Report
  • Подтверждение отчета отчета Crystal очень медленно после обновления базы данных
  • Реализовать Datasource Crystal Report
  • Кристальный отчет Неоднозначная ошибка имени столбца.
  • Замените пустые значения как 0 вместо нуля при соединении двух таблиц в sql
  • Поле формулы, не показанное в отчете о кристалле 8.5
  • Interesting Posts

    Вставка различных значений из XML в таблицу

    Установка SQL Server Business Intelligence Development Studio

    необходимо преобразовать sql-время из десятичного числа в часы

    Соответствие sqlserver означает, что имена столбцов должны быть правильными. И как с этим бороться

    Добавление строк в таблицу из другой таблицы с использованием выражения Common table в SQL Server

    Как итерация строки и добавление строки в каждую позицию?

    Установка содержимого контейнера blob в качестве диска в виртуальной машине

    SQLException во время executeBatch (), когда я обрабатываю BatchUpdateException

    Подключение к виртуальной машине с помощью SQL Server с веб-сайтов с использованием Windows Azure

    Синхронизация поля ключа таблицы из одной базы данных в другую

    Как определить вызываемую хранимую процедуру

    Что такое литерал нулевого символа в TSQL?

    Добавьте столбец с нулевым значением datetime в первичный ключ

    Ошибка Должна объявить скалярную переменную с параметром Table Valued

    SQL-сервер – группировка и замена

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