Как настроить параметр экспорта в службах Reporting Services для экспорта текста без разделителей? - PullRequest
0 голосов
/ 28 июня 2011

Существует необходимость отправки данных во внешний интерфейс - финансовый отчет, который должен периодически отправляться правительству какой-либо страны, которое ожидает данные в виде текстовых файлов без разделителя между полями: фиксированная ширина, заполнение слева нулями или пробелы ( в зависимости от типа данных) заполнить пробел.

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

Можно ли создать опцию экспорта для экспорта в этом формате?

Мы бы хотели избежать того, чтобы CAST все соответствующие поля для NVARCHAR в хранимой процедуре, которая подает отчет, оставляли их там и, наконец, объединяли все - если только это не единственный вариант для этого.

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

Ранее нам удавалось настроить файл конфигурации XML для служб Reporting Services 2008, чтобы добавить новую опцию экспорта для экспорта в текст с полями, разделенными трубами, поэтому мы подумали попробовать это в первую очередь. К сожалению, обнаружено, если вы используете экспортные текстовые или CSV-двигатели, но не указали разделитель, по умолчанию используется запятая.

Есть идеи?

1 Ответ

1 голос
/ 30 июня 2011

На мой взгляд, службы отчетов не являются подходящим инструментом для этой работы.Вы пытаетесь встроить инструмент отчетности в инструмент миграции данных.Хотя, на первый взгляд, это выглядит примерно одинаково - при выводе отформатированных данных - структура текстового файла фиксированной длины не совсем то, что Reporting Services хорошо умеет производить из коробки.Мы выполняем аналогичный экспорт фиксированной длины, используя запланированное задание агента SQL Server.Вы также можете написать консольное приложение и запустить его вручную или использовать запланированные задачи Windows для его запуска.

Если вы решили использовать службы Reporting Services по какой-либо функциональной причине (например, при экспорте должен использоваться тот жепараметры для фильтрации данных как просматриваемого отчета) тогда я просто создал бы второй отчет, основанный на первом, без заголовка или нижнего колонтитула, просто раздел подробностей с таблицей, содержащей одно широкое поле с выражением в нем, которое создаетформатированный текст, необходимый для экспорта.Поместите в заголовок основного отчета ссылку «Создать файл экспорта», которая ссылается на этот новый отчет и передает параметры, а затем экспортирует их в какой-либо формат без разбивки на страницы, например CSV.

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

...