页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

(本文档仅供参考)

现象一

预览报错,提示找不到驱动:Caused 1、预览报错,提示找不到驱动:Caused by: java. lang. ClassNotFoundException: org. apache .hive. jdbc. HiveDriver

如下:

Image Modified

2、使用模型做的仪表盘都报错驱动问题,重启olap清空系统缓存 都操作了,都不行。

errorMessageMondrian Error:Internal error: Error while
looking up jdbeDriver!
errorStackTrace=mondrian.olap.MondrianException:Mondrian
Error:Internal error: Error while looking up jdbcDriver!
at
mondrian.resource.MondrianResource$DefO.ex(MondrianResource.
java:1002)
at mondrian.olap.Util.newlnternal(Util.java:2545)
mondrian.rolap.RolapConnection.createDataSource(RolapConnectio

解决方案

上述报错的栈信息包含mondrian,则说明是olap缺少驱动。需要根据使用的具体版本添加对应驱动至olap引擎中。

添加方式:如何向Smartbi中添加数据库驱动jar包—V9及以上版本

若有添加,需确认网络,或者数据库有没有黑白名单限制,有时候是防火墙导致的,数据库端口在olap服务器上不通。

现象二

已经将hive驱动添加至olap的动态加载目录,数据模型预览仍然报错:You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.

解决方案

报错是因为需要添加的驱动版本为:inceptor-sdk-transwarp-6.1.0-SNAPSHOT_xxxxx,高于5.1.2版本,因此需要将驱动内置到war包以及olap引擎中,并修改数据源中的驱动路径为系统内置

Image Modified

如上述原因所说,因类冲突,无法放在动态加载目录下,需要将驱动内置。

...

双击打开smartbiolap.war,进到如下目录中,将驱动放在该目录下,保存,重启olap:

Image Modified


关于olap读取驱动说明

目前olap的驱动分为内置和外置,根据数据源设置的读取驱动的位置为主。

...

如下图,会从配置的外部驱动类存放路径中读取对应驱动,如配置了开启同步,可以理解为,会通过配置的同步地址下载对应的驱动,放到外部驱动类存放路径中。

Image Modified