Продукт, на который я переключился, использует Pentaho для создания БД для Dashboards.Он должен поддерживать как Oracle, так и MSSQL.Он использует доступ JNDI.Кроме того, одни и те же файлы Pentaho (задания, преобразования) используются для обоих типов БД.Недавно мы получили сообщение о том, что журналы растут слишком быстро при очистке таблиц этапов и что на самом деле выполняется удаление, а не усечение, как считалось до сих пор.
Я выполнил отладку с использованием исходного кода pdi и обнаружил, что это вызвано тем фактом, что, поскольку мы поддерживаем типы 2 дБ, исходное соединение дБ имеет тип Generic.Для общего соединения БД getTruncateTableStatement()
фактически возвращает удаление вместо усечения.
Мой ведущий сказал мне Google, если есть чистый способ изменить это значение во время выполнения или, по крайней мере, во время установки.Итак, вот я:)
Есть ли способ динамически изменить это свойство ( Тип соединения ), чтобы на основании DatabaseType из файла конфигурации оно было изменено на соответствующееодин (Oracle или MSSQL)?
PS Используем pentaho 6.1.0.1