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