Динамическое подключение к базе данных в дизайнере отчетов Pentaho

Я новичок в дизайнере отчетов Pentaho. Я работаю над созданием огромного количества отчетов, используя локальную пробную базу данных. как только мы перейдем к производству, мне придется изменить все учетные данные для подключения к базе данных отчетов по отдельности. Есть ли способ настроить подключение к базе данных в одном месте и использовать его во всех отчетах?


person Ramya Nair    schedule 08.04.2021    source источник
comment
Вы должны использовать соединение JNDI, а не соединение JDBC.   -  person Sakil Ahmmed    schedule 08.04.2021
comment
не могли бы вы рассказать мне больше об этом? любая ссылка на форум, по которой я могу перейти и выполнить настройку?   -  person Ramya Nair    schedule 08.04.2021


Ответы (1)


Вы можете установить/записать соединение JNDI, а затем использовать это соединение в каждом отчете.

  1. Во время разработки отчета вы можете записать соединение JNDI в ДОМАШНЕМ местоположении вашего ПК, например C:\Users\User\.pentaho\simple-jndi\default.properties.
  2. После развертывания отчета на сервере Pentaho вам необходимо создать такое же соединение JNDI с вашего сервера Pentaho с тем же именем JNDI. Расположение файла JNDI сервера Pentaho похоже на D:\pentaho\pentaho-server\pentaho-solutions\system\simple-jndi\jdbc.properties

Пример информации о соединении JNDI для Oracle:-

oracleAbc/type=javax.sql.DataSource
oracleAbc/driver=oracle.jdbc.driver.OracleDriver
oracleAbc/url=jdbc:oracle:thin:@localhost:1521:chaucerdb
oracleAbc/user=scott
oracleAbc/password=abc$123

После этого вы можете использовать это ConnectionName в качестве соединения JNDI в отчете.

Дайте мне знать, если вам нужна другая помощь.

person Sakil Ahmmed    schedule 08.04.2021
comment
я использую Оракл. могу ли я выполнить настройку в файле свойств pentaho/pentahoserver/pentahosolutions/system/simplejndi/jdbc - person Ramya Nair; 08.04.2021
comment
Да . Вы можете создать соединение JNDI практически для любой БД. И вы знаете, прежде чем делать это, мы должны хранить OracleDriver в правильном месте :) - person Sakil Ahmmed; 08.04.2021
comment
mydb/type=javax.sql.DataSource mydb/driver=oracle.jdbc.driver.OracleDriver mydb/url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS(PROTOCOL=TCP)(HOST=myhost)( PORT=myport)))(CONNECT_DATA=(SERVICE_NAME=myservicename))) mydb/user=myuser mydb/password=mypassword........................ .................. я добавил это в файл свойств jdbc... должен ли я настроить то же самое в репозитории.xml? - person Ramya Nair; 08.04.2021
comment
Я использую Pentaho CE. Мне не нужно добавлять это в «repository.xml». Так что я думаю, что это не требуется. Я уже включил образец информации о соединении JNDI с Oracle в свой ответ. - person Sakil Ahmmed; 08.04.2021
comment
я получаю сообщение о недопустимом источнике данных: ошибка 'oracleAbc' - person Ramya Nair; 08.04.2021
comment
Из каких инструментов обнаружена ошибка? Это из предварительного просмотра дизайнера отчетов или из сервера Pentaho BA? Ошибка указывает на то, что вы не записывали информацию JNDI в правильном месте. - person Sakil Ahmmed; 08.04.2021
comment
обнаружена ошибка в дизайнере отчетов при тестировании соединения jndi. я включил информацию о соединении JNDI в файл свойств jdbc - person Ramya Nair; 08.04.2021
comment
Во время разработки отчета в дизайнере отчетов вам необходимо записать информацию JNDI в такое место, как файл C:\Users\User\.pentaho\simple-jndi\default.properties. Ты сделал это? Справка help.pentaho.com/Documentation/7.0/0H0/ - person Sakil Ahmmed; 08.04.2021
comment
Большое спасибо, Сакил .. теперь все работает :) я пропустил строку в default.properties. - person Ramya Nair; 08.04.2021
comment
В этом пункте вы можете принять мой ответ. - person Sakil Ahmmed; 08.04.2021
comment
привет Sakil .. когда я пытаюсь опубликовать отчет, он выдает ошибку, говоря, что jndi не найден .. где-нибудь еще я должен определить соединение с базой данных? - person Ramya Nair; 09.04.2021
comment
Да, после публикации вам нужно следовать моему второму варианту. Запишите точную информацию JNDI о местоположении D:\pentaho\pentaho-server\pentaho-solutions\system\simple-jndi\jdbc.properties. И снова запустите сервер BA. - person Sakil Ahmmed; 09.04.2021