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

(本文档仅供参考)

问题现象

 smartbi部署在Tomcat8中,请问smartbi如何使用jndi方式连接数据源?

解决方案

1、用文本编辑器打开tomcat\conf目录中的server.xml文件并在如下红框所示位置中添加如下配置:

 <Context path="/smartbi" reloadable="false" docBase="F:/Smartbi/Tomcat/apps/smartbi">
        <Resource name="jdbc/repo"
            auth="Container"
            type="javax.sql.DataSource"
            username="admin"
            password="admin"
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:6688/smartbi_smartbix_v10_5?characterEncoding=GBK"
            maxTotal="8"
            maxIdle="4"/>
</Context>

对上述内容可进行修改配置项说明如下:

配置项及内容说明
<Context path="/smartbi" reloadable="false" docBase="F:/Smartbi/Tomcat/apps/smartbi">

此处建议只修改docBase中的路径,其它保持默认即可,此处路径为war包存放的位置,请根据实际部署情况进行修改。

配置原因:配置了server.xml后如webapps目录下仍有war包,会启动两次,因此需要指定新的启动目录。

注意事项:1、需要将webapps下的war包删除,解压后smartbi文件夹也要一并移除;

2、此处是新建名为apps的文件夹存放解压后的war包,因war包不会自动解压,因此请移动到新的目录后手动解压。

Resource name="jdbc/repo"jdbc/repo:此处的名称可以自定义。
username="admin"admin:此处对应需要连接的数据库用户名。
password="admin"admin:此处对应需要连接的数据库用户名的密码。
driverClassName="com.mysql.jdbc.Driver" com.mysql.jdbc.Driver:为对应数据库的JDBC链接驱动的字符串。
url="jdbc:mysql://localhost:6688/smartbi_smartbix_v10_5?characterEncoding=GBK"jdbc:mysql://localhost:6688/smartbi_smartbix_v10_5?characterEncoding=GBK:url 值为 JDBC 链接字符串,请根据实际情况填写

2、修改smartbi.war\WEB-INF\web.xml,需增加如下配置项:

<resource-ref>
  <description>
    aaa
  </description>
  <res-ref-name>
    jdbc/repo
  </res-ref-name>
  <res-type>
    javax.sql.DataSource
  </res-type>
  <res-auth>
    Container
  </res-auth>
</resource-ref>

对上述可进行修改内容说明如下:

配置项说明
<description>aaa</description>aaa可自定义。
<res-ref-name> jdbc/repo</res-ref-name>

jdbc/repo对应1中的填写的Resource name。

<res-type> javax.sql.DataSource </res-type>

此处不可自定义,请勿修改。
<res-auth> Container </res-auth>此处不可自定义,请勿修改。

3、将数据库驱动放tomcat的lib下。

如下图:

4、配置数据库

(1)作为知识库

①修改smartbi-config配置,此处配置对应的数据源中的连接字符串:

<server-name>JNDI:java:comp/env/jdbc/repo</server-name>

对上述可进行修改内容说明如下:

配置项说明
<server-name>JNDI:java:comp/env/jdbc/repo</server-name>jdbc/repo对应2中的Resource name里填写的信息。

配置完毕重启应用服务,配置config界面中的数据源连接:


驱动程序类型部分仍然选择对应的数据库类型。

连接字符串改为3中配置的即可。即填写为:JNDI:java:comp/env/jdbc/repo


(2)作为业务库

①登录 Smartbi,并切换到 管理 > 系统管理 页面。

②点击"新建关系数据源",并输入 JNDI 数据源的相关信息。

驱动程序类型部分仍然选择对应的数据库类型。

连接字符串改为3中配置的即可。即填写为:JNDI:java:comp/env/jdbc/repo

  • 无标签