Я новичок в дизайнере отчетов Pentaho. Я работаю над созданием огромного количества отчетов, используя локальную пробную базу данных. как только мы перейдем к производству, мне придется изменить все учетные данные для подключения к базе данных отчетов по отдельности. Есть ли способ настроить подключение к базе данных в одном месте и использовать его во всех отчетах?
Динамическое подключение к базе данных в дизайнере отчетов Pentaho
comment
Вы должны использовать соединение JNDI, а не соединение JDBC.
- person Sakil Ahmmed   schedule 08.04.2021
comment
не могли бы вы рассказать мне больше об этом? любая ссылка на форум, по которой я могу перейти и выполнить настройку?
- person Ramya Nair   schedule 08.04.2021
Ответы (1)
Вы можете установить/записать соединение JNDI, а затем использовать это соединение в каждом отчете.
- Во время разработки отчета вы можете записать соединение JNDI в ДОМАШНЕМ местоположении вашего ПК, например C:\Users\User\.pentaho\simple-jndi\default.properties.
- После развертывания отчета на сервере 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
я использую Оракл. могу ли я выполнить настройку в файле свойств pentaho/pentahoserver/pentahosolutions/system/simplejndi/jdbc
- person Ramya Nair; 08.04.2021
Да . Вы можете создать соединение JNDI практически для любой БД. И вы знаете, прежде чем делать это, мы должны хранить OracleDriver в правильном месте :)
- person Sakil Ahmmed; 08.04.2021
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
Я использую Pentaho CE. Мне не нужно добавлять это в «repository.xml». Так что я думаю, что это не требуется. Я уже включил образец информации о соединении JNDI с Oracle в свой ответ.
- person Sakil Ahmmed; 08.04.2021
я получаю сообщение о недопустимом источнике данных: ошибка 'oracleAbc'
- person Ramya Nair; 08.04.2021
Из каких инструментов обнаружена ошибка? Это из предварительного просмотра дизайнера отчетов или из сервера Pentaho BA? Ошибка указывает на то, что вы не записывали информацию JNDI в правильном месте.
- person Sakil Ahmmed; 08.04.2021
обнаружена ошибка в дизайнере отчетов при тестировании соединения jndi. я включил информацию о соединении JNDI в файл свойств jdbc
- person Ramya Nair; 08.04.2021
Во время разработки отчета в дизайнере отчетов вам необходимо записать информацию JNDI в такое место, как файл C:\Users\User\.pentaho\simple-jndi\default.properties. Ты сделал это? Справка help.pentaho.com/Documentation/7.0/0H0/
- person Sakil Ahmmed; 08.04.2021
Большое спасибо, Сакил .. теперь все работает :) я пропустил строку в default.properties.
- person Ramya Nair; 08.04.2021
В этом пункте вы можете принять мой ответ.
- person Sakil Ahmmed; 08.04.2021
привет Sakil .. когда я пытаюсь опубликовать отчет, он выдает ошибку, говоря, что jndi не найден .. где-нибудь еще я должен определить соединение с базой данных?
- person Ramya Nair; 09.04.2021
Да, после публикации вам нужно следовать моему второму варианту. Запишите точную информацию JNDI о местоположении D:\pentaho\pentaho-server\pentaho-solutions\system\simple-jndi\jdbc.properties. И снова запустите сервер BA.
- person Sakil Ahmmed; 09.04.2021