Построение отчетов для MsSql и PostgreSql

Обсуждение Stimulsoft Reports.WEB
Ответить
MarinaP
Сообщения: 26
Зарегистрирован: 17 янв 2019, 08:23

Построение отчетов для MsSql и PostgreSql

Сообщение MarinaP »

Добрый день.
У нас есть уже созданный и работающий набор отчетов с подключением к базе MsSql. Теперь, понадобилось добавить возможность, запуска тех же отчетов, но с подключением к базе PostgreSQL. При этом имена процедур (функций для PostgreSql) и формат возвращаемых данных планируем сделать одинаковым для обеих баз. Замена самого подключения к БД из кода, при вызове построения отчета, вроде работает, но при этом в DataSource тип адаптера остается Sql (Stimulsoft.Report.Dictionary.StiSqlAdapterService) и соответственно данные не возвращаются. Можно ли его как-то просто поменять или через код заменить необходимый DataSource на вариант для PosthreSql я не нашла.
Подскажите пожалуйста, как можно решить эту проблему? Может быть есть какое-то простое решение? Загружать данные из кода в отчет (например через xml) не очень бы хотелось, т.к. для каждого отчета свои процедуры, и хранить их в коде мне кажется не очень хорошо. Как самый крайний вариант, рассматриваю просто копирование существующих отчетов, изменение в них источника данных на PostgreSql вместе со всеми наборами данных и затем в коде вызов нужной версии отчета, в зависимости от типа БД. Но это самый нежелательный вариант и я очень надеюсь, что можно все таки как-то решить это через код.
Версия Stimulsoft 2019.1.1.0
Aleksey
Сообщения: 2761
Зарегистрирован: 22 апр 2010, 06:57

Re: Построение отчетов для MsSql и PostgreSql

Сообщение Aleksey »

Здравствуйте,

Простого стандартного решения нет. Нельзя просто поменять тип источника данных и все, так как в msq sql и postgresql отличаются как сами запросы, так и типы данных.
Можно в коде пробегать по словарю с mssql подключением и на основе него создавать новый для postgersql, необходимо только будет реализовать несколько методов для преобразования запросов и типов данных.

Спасибо.
Ответить