页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

现象一

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

如下:

解决方案

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

添加方式:如何向Smartbi中添加数据库驱动jar

现象二

已经将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引擎中,并修改数据源中的驱动路径为系统内置

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

①、需要将驱动内置到war包中,添加方式可参考:如何向Smartbi中添加数据库驱动jar

②、需要将驱动内置到olap的war中,war包内置在SmartbiOLAPServer.jar中,可以用压缩工具打开该jar包,将驱动添加后重新启动olap,具体位置如下:

注意:如olap需要进行版本更新,则需要重新将驱动添加到要更新的jar包中,再启动!

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


关于olap读取驱动说明

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

1、数据源设置来源产品内置

如下图,当数据源选择为系统内置,则olap获取驱动时也是获取的olap内置的驱动,因此如上现象二,需要把驱动放到smartbi.war里面的同时也要放到smartbiolap.war中。


2、数据源设置来源自定义

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


  • 无标签