Mondrian利用XMLA Provider及国际化实现

Mondrian利用XMLA Provider及国际化实现
要启用XMLA Provider,首先要修改DataSource.xml如下
< DataSources >
    
< DataSource >
< DataSourceName > Provider=Mondrian;DataSource=MondrianFoodMart; </ DataSourceName >
        
< DataSourceDescription > Mondrian FoodMart Data Warehouse </ DataSourceDescription >
< URL > http://localhost:8080/mondrian/xmla </ URL >   < DataSourceInfo > Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart?user=root&password=3115463;JdbcDrivers=com.mysql.jdbc.Driver;Catalog=/WEB-INF/queries/FoodMart.xml; </ DataSourceInfo >
        
< ProviderType > MDP </ ProviderType >       < AuthenticationMode > Unauthenticated </ AuthenticationMode >
        
< Catalogs >
            
< Catalog  name ="FoodMart" >
                
< Definition > /WEB-INF/queries/FoodMart.xml </ Definition >
            
</ Catalog >
         
< Catalog  name ="Compensation" >
              
< DataSourceInfo > Provider=mondrian;Locale=zh_CN; DynamicSchemaProcessor= mondrian.i18n.LocalizingDynamicSchemaProcessor;Jdbc=jdbc:oracle:thin:@10.60.2.240:1521:wiptest;JdbcDrivers=oracle.jdbc.OracleDriver;JdbcUser="oee";JdbcPassword="oee" </ DataSourceInfo >
            
< Definition > /WEB-INF/queries/Compensation.xml </ Definition >
        
</ Catalog >
        
</ Catalogs >

    
</ DataSource >
</ DataSources >
其中DataSourceName的格式必须为"Provider=Mondrian;DataSource=MnondrianFoodMart;"(说明:我使用的mondrian版本为2.3.2)
  为了实现国际化,在DataSourceInfo上增加Local=zh_CN;DynamicSchemaProcessor=mondrian.i18n.LocalizingDynamicSchemaProcessor
在显示页面xmla.jsp的页面上,改用<jp:xmlaQuery>标签
< jp:xmlaQuery  id ="query01"
    uri
="http://localhost:8080/mondrian/xmla"
    dataSource
="Provider=Mondrian;DataSource=MondrianFoodMart;"
      catalog
="Compensation"
      
>
其他还需要在classpath里加入locale_zh_CN.properties文件和mondrian.properties文件,以及在Schema做相应修改。具体请见前篇Mondrian国际化方法。
在WEB.XML文件里修改如下
   < servlet >
    
< servlet-name > MondrianXmlaServlet </ servlet-name >
    
< servlet-class > mondrian.xmla.impl.DefaultXmlaServlet </ servlet-class >
  
< init-param >
< param-name > CharacterEncoding </ param-name >
< param-value > UTF-8 </ param-value >
</ init-param >

你可能感兴趣的:(Mondrian利用XMLA Provider及国际化实现)