Pentaho JNDI源名称作为参数(Multi-Tennant)
我在谷歌上搜索了半个小时,找到了pentaho参数等的点击率,但似乎没有任何东西可以问或回答这个问题 我有一组报告,每个客户的报告都相同,但需要连接到不同的数据库,具体取决于运行报告的客户 因此,我的想法是在运行时将JNDI数据源名称作为参数传递给报表,以便客户连接到正确的数据库Pentaho JNDI源名称作为参数(Multi-Tennant),pentaho,Pentaho,我在谷歌上搜索了半个小时,找到了pentaho参数等的点击率,但似乎没有任何东西可以问或回答这个问题 我有一组报告,每个客户的报告都相同,但需要连接到不同的数据库,具体取决于运行报告的客户 因此,我的想法是在运行时将JNDI数据源名称作为参数传递给报表,以便客户连接到正确的数据库 这是可能的,还是有更好的方法来管理运行在不同数据库上但在pentaho引擎的同一个实例中的不同客户使用的一组通用报告?好的,我找到了一个更好的解决方案,使用了很少有文档记录的multi-tennant功能 1) 停止P
这是可能的,还是有更好的方法来管理运行在不同数据库上但在pentaho引擎的同一个实例中的不同客户使用的一组通用报告?好的,我找到了一个更好的解决方案,使用了很少有文档记录的multi-tennant功能 1) 停止Pentaho 2) 修改(pentaho解决方案/system/pentahoObjects.spring.xml)
3) 为数据源添加后缀(biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml)
4) 删除/tomcat/conf/Catalina/localhost/pentaho.xml
5) 重新启动Pentaho,创建一个用户someone@xxx等等
6) 使用JNDI名称“MYDBSRC”创建报告
7) 登录为someone@xxx您将获得不同于以用户身份登录或user@aaa
塔达好的,我已经找到了一个更好的解决方案,使用了很少有文档记录的multi-tennant功能 1) 停止Pentaho 2) 修改(pentaho解决方案/system/pentahoObjects.spring.xml)
3) 为数据源添加后缀(biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml)
4) 删除/tomcat/conf/Catalina/localhost/pentaho.xml
5) 重新启动Pentaho,创建一个用户someone@xxx等等
6) 使用JNDI名称“MYDBSRC”创建报告
7) 登录为someone@xxx您将获得不同于以用户身份登录或user@aaa
塔达好的,我已经找到了一个更好的解决方案,使用了很少有文档记录的multi-tennant功能 1) 停止Pentaho 2) 修改(pentaho解决方案/system/pentahoObjects.spring.xml)
3) 为数据源添加后缀(biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml)
4) 删除/tomcat/conf/Catalina/localhost/pentaho.xml
5) 重新启动Pentaho,创建一个用户someone@xxx等等
6) 使用JNDI名称“MYDBSRC”创建报告
7) 登录为someone@xxx您将获得不同于以用户身份登录或user@aaa
塔达好的,我已经找到了一个更好的解决方案,使用了很少有文档记录的multi-tennant功能 1) 停止Pentaho 2) 修改(pentaho解决方案/system/pentahoObjects.spring.xml)
3) 为数据源添加后缀(biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml)
4) 删除/tomcat/conf/Catalina/localhost/pentaho.xml
5) 重新启动Pentaho,创建一个用户someone@xxx等等
6) 使用JNDI名称“MYDBSRC”创建报告
7) 登录为someone@xxx您将获得不同于以用户身份登录或user@aaa
塔达强>
<!-- Original Code
<bean id="IDBDatasourceService" class="org.pentaho.platform.engine.services.connection.datasource.dbcp.DynamicallyPooledOrJndiDatasourceService" scope="singleton">
<property name="pooledDatasourceService" ref="pooledOrJndiDatasourceService" />
<property name="nonPooledDatasourceService" ref="nonPooledOrJndiDatasourceService" />
</bean>
-->
<!--Begin Tenant -->
<bean id="IDBDatasourceService" class="org.pentaho.platform.engine.services.connection.datasource.dbcp.tenantaware.TenantAwareLoginParsingDatasourceService"
scope="singleton">
<property name="requireTenantId" value="false" />
<property name="datasourceNameFormat" value="{1}-{0}" />
<property name="tenantSeparator" value="@" />
<property name="tenantOnLeft" value="false" />
</bean>
<!-- End Tenant -->
<Resource
name="jdbc/MYDBSRC-xxx"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="20"
maxIdle="5"
maxWait="10000"
username="XXXX"
password="XXXX"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://192.168.42.0:1433;DatabaseName=SOMEDB"
/>
<Resource
name="jdbc/MYDBSRC-aaa"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="20"
maxIdle="5"
maxWait="10000"
username="XXXX"
password="XXXX"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://192.168.42.0:1433;DatabaseName=AOTHERDB"
/>