1. 몬드리안 다운로드
http://mondrian.pentaho.org 에서 다운로드 받음
2. 다운 받은 파일의 압축을 품
unzip mondrian-3.3.0.14703.zip
3. MYSQL DB 에서 예제인 foodmart 를 사용하기 위한 계정을 만들어 줌
mysqladmin create foodmart
mysql -u root -p
use mysql
이런식으로 접속 해서
insert into user(host,user, password) values('localhost', 'foodmart',password('foodmart'));
insert into user(host,user, password) values('%', 'foodmart',password('foodmart'));
mysql>grant all privileges on *.* to 'foodmart'@'localhost' identified by 'foodmart';
mysql>grant all privileges on *.* to 'foodmart'@'%' identified by 'foodmart';
mysql>flush privileges;
4. DB 에 예제인 foodmart 를 집어 넣음 (몬드리안 회사에서 만들어 놓은
어플리케이션으로 DB 에 집어넣는 구조임
-풀린 압축 파일을 보면 FoodMartCreateData.sql 이 있고 mondrian.jar 를
가지고 실행 시키는 구조이므로 리눅스의 경우 쉘을 만들어서 해주면 편함
난 mysql 을 사용 하였고 아래와 같이 쉘을 만들어서 넣어 주었음
참고로 mysql의 자바 connector 를 path 로 잡아주어야 함)
#!/bin/sh
JAVA_HOME=/usr/bin
MOND=/home/mondrian/mondrian/WEB-INF/lib/mondrian.jar
LOG=/home/mondrian/mondrian/WEB-INF/lib/log4j-1.2.8.jar
COMLOG=/home/mondrian/mondrian/WEB-INF/lib/commons-logging-1.0.4.jar
EIGEN=/home/mondrian/mondrian/WEB-INF/lib/eigenbase-xom.jar
RESGEN=/home/mondrian/mondrian/WEB-INF/lib/eigenbase-resgen.jar
EIGPROPERTIES=/home/mondrian/mondrian/WEB-INF/lib/eigenbase-properties.jar
MYSQL=/home/mondrian/mondrian/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar
OLAPJ=/home/mondrian/mondrian/WEB-INF/lib/olap4j.jar
CLASSPATH=$MOND:$LOG:$COMLOG:$EIGEN:$RESGEN:$EIGPROPERTIES:$MYSQL:$OLAPJ
java -classpath $CLASSPATH mondrian.test.loader.MondrianFoodMartLoader -verbose -tables -data -indexes -jdbcDrivers=com.mysql.jdbc.Driver -inputFile=/home/cloud/demo/FoodMartCreateData.sql -outputJdbcURL="jdbc:mysql://localhost/foodmart?user=foodmart&password=foodmart"
5. 몬드리안 홈페이지에서 받은 압축 파일을 unzip 해서 압축 푼 곳에서
몬드리안압축푼곳/lib/mondrian.war 파일의 압축을 풀어서
mondrian 폴더 통채로 TOMCAT_HOME/webapps 하위에 복사 한다.
(톰캣에서 웹프로젝트로 인식 할 수 있도록 해주면 된다.)
6. DB 접속 정보를 수정한다.
vi TOMCAT_HOME/webapps/mondrian/WEB-INF/mondrian.properties 에서
Provider=mondrian;Jdbc=jdbc:odbc:MondrianFoodMart;Catalog=/WEB-
INF/queries/FoodMart.xml;JdbcDrivers=sun.jdbc.odbc.JdbcOdbcDriver; 문구를
아래와 같이 바꾸어 준다.
mondrian.test.connectString=Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart;JdbcUser=foodmart;JdbcPassword=foodmart;JdbcDrivers=com.mysql.jdbc.Driver;Catalog=/WEB-INF/queries/FoodMart.xml;
7. mysql connector(자바) 를 웹 프로젝트 lib 폴더에 넣어 준다.
TOMCAT_HOME/webapps/mondrian/WEB-INF/lib 로 mysql-connector-java-5.1.7-bin.jar 같은
라이브러리 파일 넣어 줌
8. TOMCAT_HOME/webapps/mondrian/WEB-INF/queries folder 의 fourhier.jsp,
mondrian.jsp, colors.jsp, arrows.jsp 파일들의 내용 중
<jp:mondrianQuery id="query01" jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver" jdbcUrl="jdbc:odbc:MondrianFoodMart" catalogUri="/WEB-INF/queries/FoodMart.xml">
을 아래와 같이 바꿔 준다.
<jp:mondrianQuery id="query01" jdbcDriver="com.mysql.jdbc.Driver" jdbcUrl="jdbc:mysql://localhost/foodmart?user=foodmart&password=foodmart" catalogUri="/WEB-INF/queries/FoodMart.xml">
9. JNDI 설정을 해준다.
9-1. TOMCAT_HOME/webapps/mondrian/WEB-INF/datasources.xml 을 바꿔 준다
<URL>http://localhost:8888/mondrian/xmla</URL>을
<URL>http://localhost:8080/mondrian/xmla</URL> 로 바꿔 준다.
<DataSourceInfo>Provider=mondrian;Jdbc=jdbc:oracle:thin:foodmart/foodmart@//marmalade.hydromatic.net:1521/XE;JdbcUser=foodmart;JdbcPassword=foodmart;JdbcDrivers=oracle.jdbc.OracleDriver;Catalog=/WEB-INF/queries/FoodMart.xml</DataSourceInfo>
을
<DataSourceInfo>Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart;JdbcUser=foodmart;JdbcPassword=foodmart;JdbcDrivers=com.mysql.jdbc.Driver; </DataSourceInfo>
로 바꿔 준다
하단의 <Catalog> 태그 안에
<!--
<DataSourceInfo>Provider=mondrian;Jdbc=jdbc:odbc:MondrianFoodMart;JdbcDrivers=sun.jdbc.odbc.JdbcOdbcDriver</DataSourceInfo>
-->
하단에
<DataSourceInfo>Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart;JdbcUser=foodmart;JdbcPassword=foodmart;JdbcDrivers=com.mysql.jdbc.Driver; </DataSourceInfo>
부분을 넣어 준다.
9-2. TOMCAT_HOME/webapps/mondrian/WEB-INF/web.xml 을 바꿔 준다
<context-param>
<param-name>connectString</param-name>
<param-value>@mondrian.webapp.connectString@</param-value>
</context-param>
을
<context-param>
<param-name>connectString</param-name>
<param-value>Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart;JdbcUser=foodmart;JdbcPassword=foodmart;Catalog=/WEB-INF/queries/FoodMart.xml;JdbcDrivers=com.mysql.jdbc.Driver</param-value>
</context-param>
로 바꿔 준다.
<servlet>
<servlet-name>MDXQueryServlet</servlet-name>
<servlet-class>mondrian.web.servlet.MdxQueryServlet</servlet-class>
<init-param>
<param-name>connectString</param-name>
<param-value>@mondrian.webapp.connectString@</param-value>
</init-param>
</servlet>
을
<servlet>
<servlet-name>MDXQueryServlet</servlet-name>
<servlet-class>mondrian.web.servlet.MdxQueryServlet</servlet-class>
<init-param>
<param-name>connectString</param-name>
<!--<param-value>@mondrian.webapp.connectString@</param-value>-->
<param-value>Provider=mondrian;Jdbc=jdbc:mysql://211.63.6.75/foodmart;JdbcUser=foodmart;JdbcPassword=foodmart;Catalog=/WEB-INF/queries/FoodMart.xml;JdbcDrivers=com.mysql.jdbc.Driver</param-value>
</init-param>
</servlet>
로 바꿔준다.
<servlet>
<servlet-name>MondrianXmlaServlet</servlet-name>
<servlet-class>mondrian.xmla.impl.DefaultXmlaServlet</servlet-class>
<!--
<init-param>
<param-name>DataSourcesConfig</param-name>
<param-value>/datasources.xml</param-value>
</init-param>
-->
</servlet>
의 init-param 태그의 주석을 풀어준다.
10. Axis 의 라이브러리 들을 복사 해 준다.
http://www.apache.org/dyn/closer.cgi/ws/axis/1_4 에서 axis 를 다운 받는다
tar xvfz axis-bin-1_4.tar.gz
와 같이 압축 풀고 그 안에서
axis.jar
commons-discovery-0.2.jar
wsdl4j-1.5.1.jar
jaxrpc.jar
을 가져와서
TOMCAT_HOME/webapps/mondrian/WEB-INF/lib 에 넣어 준다.
11. testrole.jsp 의 DB 정보 수정 한다.
<jp:mondrianQuery id="query01" jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver" jdbcUrl="jdbc:odbc:MondrianFoodMart" catalogUri="/WEB-INF/queries/FoodMart.xml" role="California manager">
를
<jp:mondrianQuery id="query01" jdbcDriver="com.mysql.jdbc.Driver" jdbcUrl="jdbc:mysql://localhost/foodmart?user=foodmart&password=foodmart" catalogUri="/WEB-INF/queries/FoodMart.xml" connectionPooling="false">
로 수정한다.
12. xmla.jsp 의 port 정보를 수정 한다.
<jp:xmlaQuery id="query01"
uri="http://localhost:8080/mondrian/xmla"
dataSource="Provider=Mondrian;DataSource=MondrianFoodMart;"
catalog="FoodMart">
13. mondrianXMLA.jsp 를 아래와 같이 수정 한다.
14. TOMCAT_HOME/bin/catalina.sh 의 JAVA_OPTS 부분을 수정 한다.
JAVA_OPTS="$JAVA_OPTS -Djavax.xml.soap.MessageFactory=org.apache.axis.soap.MessageFactoryImpl -Djavax.xml.soap.SOAPConnectionFactory=org.apache.axis.soap.SOAPConnectionFactoryImpl -Djavax.xml.soap.SOAPFactory=org.apache.axis.soap.SOAPFactoryImpl -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl"
15. 인터넷 웹 브라우저에서 http://localhost:8080/mondrian
입력시 아래와 같은 화면을 볼 수 있다.
JPivot pivot table link click!!
댓글