- 将oracle JDBC相关驱动$Oracle_home/jdbc/lib下jar文件拷贝到..\tomcat\webapps\pentaho\WEB-INF\lib或..\tomcat\common\lib目录,供pentaho BI服务器访问oracle 数据库使用。
另外也需要将oracle JDBC驱动拷贝到administration-console\jdbc目录,否则用户不能正常使用pentaho管理控制台。
为防止启动pentaho管理控制台时报错:
java.lang.ClassNotFoundException: oracle.dms.console.DMSConsole
还需要从oracle服务器上找到dms.jar拷贝到administration-console\jdbc目录下。
- 初始化Oracle 10g数据库。依次执行下面的sql包,在执行sql包前先创建两个用户,quartz/password,用于存储quartz相关信息,另一个用户hibuser/password用户存储pentaho bi服务本身资料库。Sql包说明:
- Create_repository_Ora.sql,用于创建pentaho_tablespace表空间、新增hibuser/password用户,以及datasource 表。
- Create_quartz_ora.sql,创建pentaho_user/password用户,quartz数据库、quartz表等。
- 修改context.xml中配置数据库连接的信息。这个文件位于\biserver-ce\tomcat\webapps\pentaho\META-INF位置。修改该文件中的数据库连接相关信息。
修改Resource name,Docbase, username,password,driverClassName,和 url参数,同时将validationQuery 改为”select 1 from dual”
源文件:
factory=”org.apache.commons.dbcp.BasicDataSourceFactory” maxActive=”20″ maxIdle=”5″
maxWait=”10000″ username=”hibuser” password=”password”
driverClassName=”org.postgresql.Driver” url=”jdbc:postgresql://localhost:5432/hibernate”
validationQuery=”select 1″ />
factory=”org.apache.commons.dbcp.BasicDataSourceFactory” maxActive=”20″ maxIdle=”5″
maxWait=”10000″ username=”pentaho_user” password=”password”
driverClassName=”org.postgresql.Driver” url=”jdbc:postgresql://localhost:5432/quartz”
validationQuery=”select 1″/>
改为:
factory=”org.apache.commons.dbcp.BasicDataSourceFactory” maxActive=”20″ maxIdle=”5″
maxWait=”10000″ username=”hibuser” password=”password”
driverClassName=”oracle.jdbc.driver.OracleDriver” url=”jdbc:oracle:thin:@use-pc:1521:utf8″
validationQuery=”select 1 from dual” />
factory=”org.apache.commons.dbcp.BasicDataSourceFactory” maxActive=”20″ maxIdle=”5″
maxWait=”10000″ username=”quartz” password=”password”
driverClassName=”oracle.jdbc.driver.OracleDriver” url=”jdbc:oracle:thin:@use-pc:1521:utf8″
validationQuery=”select 1 from dual”/>
- 打开biserver-ce\pentaho-solutions\system\hibernate中的hibernate-settings.xml配置文件,并启用oracle10g.hibernate.cfg.xml配置文件,配置修改如下。
system/hibernate/oracle10g.hibernate.cfg.xml
- 调整oracle10g.hibernate.cfg.xml文件,主要是连接数据库的相关信息。
- 修改applicationContext-spring-security-hibernate.properties配置文件,它位于biserver-ce\pentaho-solutions\system。下面是配置修改。
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@use-pc:1521:utf8
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
- 修改pentahosolutions/system下的applicationContextspringsecurityjdbc.xml文件
修改driverclassname和url(option:用户名和密码)。
- 修改quartz.properties,位于biserver-ce\pentaho-solutions\system\quartz目录。当使用oracle存储quartz的各种信息时,需要启动如下实现类,查找org.quartz.jobStore.driverDelegateClass,从默认的org.quartz.impl.jdbcjobstore.StdJDBCDelegate被替换成OracleDelegate,即修改如下:
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
- 删除tomcat/conf/Catalina/localhost/pentaho.xml,否则可能报错(Failed to obtain DB connection from data source ‘myDS’: java.sql.SQLException: Could not retrieve datasource via JNDI url ‘java:comp/env/jdbc/Quartz’)。
该文件下次启动会重新自动生成
- 审计的SQL语句也需要改动,修改biserver-ee/pentaho-solutions/system下的audit_sql.xml,使之符合Oracle的SQL语法,如下:
INSERT INTO PRO_AUDIT (AUDIT_ID, JOB_ID, INST_ID, OBJ_ID, OBJ_TYPE, ACTOR,MESSAGE_TYPE, MESSAGE_NAME, MESSAGE_TEXT_VALUE, MESSAGE_NUM_
VALUE, DURATION,AUDIT_TIME) values (HIBERNATE_SEQUENCE.NEXTVAL,?,?,?,?,?,?,?,?,?,?,?)
(option:修改biserver-ee/pentaho-solutions/system/dialects/oracle10g下的applicationContext-spring-security-hibernate.properties,使之与Oracle环境相符)
- 可选地,用户修改start_hypersonic.bat中的相关信息。