华鼎数据库与 Pentaho BI 平台的整合
1 导入脚本
假设 Pentaho 自带的数据库初始化脚本在目录 D:/biserver-ce/data/ 下面。我们需要将其修改为 Huabase 兼容模式,按如下顺序依次导入脚本: create_repository ,再 create_quartz ,最后再 create_sample_datasource
2 修改配置文件
对配置文件的修改主要是修改数据库连接部分和允许外部访问的部分:
1 )首先修改 D:/biserver-ce/pentaho-solutions/syste 目录下的 applicationContext-spring-security-jdbc.xml 文件,对应值修改后应为:
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value=" com.huabase.jdbc.HuabaseDriver" />
<property name="url"
value=" jdbc:huabase:@localhost:1978" />
<property name="username" value="username" />
<property name="password" value="password" />
</bean>
2 )修改同一目录下的 applicationContext-spring-security-hibernate.xml 文件,将文件中设置修改为如下:
jdbc.driver= com.huabase.jdbc.HuabaseDriver
jdbc.url= jdbc:huabase:@localhost:1978
jdbc.username=username
jdbc.password=password
hibernate.dialect= com.huabase.integration.hibernate.HuabaseDialect
3 )修改目录 D:/biserver-ce/pentaho-solutions/system/hibernate 下的 hibernate-settings.xml 文件。将文件中设置修改为如下:
<config-file>system/hibernate/Huabase.hibernate.cfg.xml</config-file>
4 )确认文件目录 D:/biserver-ce/pentaho-solutions/system/hibernate 下的文件 mysql5.hibernate.cfg.xml 。相应的配置是:
<property name="connection.driver_class"> com.huabase.jdbc.HuabaseDriver </property>
<property name="connection.url"> jdbc:huabase:@localhost:1978</property>
<property name="dialect"> com.huabase.integration.hibernate.HuabaseDialect </property>
<property name="connection.username">username</property>
<property name="connection.password">password</property>
5 )配置 D:/biserver-ce/tomcat/webapps/pentaho/WEB-INF 目录下的 web.xml 文件设置为:
<context-param>
<param-name>base-url</param-name>
<param-value>http://192.168.0.60:8080/pentaho/</param-value>
</context-param>
说明:如果是 localhost ,那么仅能从本机登录才能打开 sampledata 报表 , 如果是实际 ip 。那样就能从别的机器登录了。
6 )修改 D:/biserver-ce/tomcat/webapps/pentaho/META-INF 目录下的 context.xml 文件。
<Context path="/pentaho" docbase="webapps/pentaho/">
<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
maxWait="10000" username="username" password="password"
driverClassName=" com.huabase.jdbc.HuabaseDriver " url=" jdbc:huabase:@localhost:1978"
validationQuery="select 1 from dual"/>
<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
maxWait="10000" username="username" password="password"
driverClassName=" com.huabase.jdbc.HuabaseDriver " url=" jdbc:huabase:@localhost:1978"
validationQuery="select 1 from dual"/>
</Context>
3 验证
到这里为止已完成数据库迁移工作了。下面可以验证一下是否迁移成功:
首先启动 Pentaho 的服务器和管理控制台,正常启动后去控制台主界面:选择 Administration 在选择 Database Connections ,默认的是 HSQLDB 的数据源,如下图所示:
此时点击下那个“ + ”按钮,就可以添加一个数据库连接。其中用户名和密码是你 Huabase 的用户名和密码,信息填完后点击“ Test ”按钮测试一下, url 等信息没填错的话就可以弹出连接成功的提示。
当然你也可以添加角色和用户。在控制管理器中操作后数据库中相应产生变化,就说明初始化数据库成功了。之后就等待服务器初始化完成后,就可以使用 Pentaho ,需要使用哪一个功能,只需要根据 Pentaho 的用户手册进行操作就可以了。