1 概述
CirroData 数据库,也称行云数据库,是一款应用广泛的分布式数据库。
本文介绍如何在Smartbi中连接CirroData数据库。
以下功能,Smartbi暂不支持,后续会完善相关功能:
1、暂不支持导入数据和生成日期表。
2、跨库暂不支持该数据库。
3、暂不支持多catalog,只有schema。
4、暂不支持存储过程:由于连接方式驱动类与表、视图存在差异,一个业务无法做到同时支持存储过程。
5、连接数据源时,引用标识符必须为空。
2 数据连接
2.1 配置信息
版本信息如下:
驱动程序类 | 连接字符串 | 驱动程序存放目录 | 支持数据库版本 |
---|---|---|---|
com.bonc.xcloud.jdbc.XCloudDriver | jdbc:xcloud:@<ip>:<port>/<serviceName>?connectRetry=3&socketTimeOut=3600000&connectDirect=true | 自定义 | 2.14.1 RELEASE-G++7.2.0-INTEL-REDHAT (heads/ReleaseBranch/2.14-07f41aa) |
1)连接字符串主要信息说明:
<ip>:IP地址;
<servername>:数据库的地址;
<port>:端口号;
以上信息一般向数据库管理员获取。
2)添加自定义驱动方法,详情可查看:如何向Smartbi中添加数据库驱动:
a、进入到%Smartbi%\Tomcat\bin\dynamicLibraryPath文件夹下,手动添加CirroData 文件夹
b、进入CirroData 文件夹下,添加CirroData 驱动(驱动包可以从数据库官网获取或向数据库管理员获取)。
c、最后在数据源连接时需要点击自定义选项,选择CirroData 。
2.2 连接步骤
1)登录Smartbi企业报表分析平台,选择 数据连接>关系数据库 ,点击 CirroData 图标进入数据库连接界面。如下图所示:
2)根据 2.1章节 提供的配置信息,输入数据库对应的信息。如下图所示:
说明:
a、名称是数据连接名称,用户可以自定义,不可为空。
b、用户名和密码是连接字符串中配置的数据库的连接用户名和密码,一般可以联系数据库管理员获取。
2.3 测试连接
1)信息正确输入后,点击 测试连接 ,若出现如下图的 测试通过 弹出框,则表示可以成功连接上数据库。如下图所示:
2)测试连接成功后,点击右下角的 保存 按钮,选择数据源的保存位置,保存成功后,该数据连接即添加成功。如下图所示:
3)数据库连接成功后,可以参考快速新建透视分析、快速新建即席查询、快速新建电子表格等快速入门使用方式查看数据。
三、注意事项
1、不支持使用连接池连接。规避方案:校验语句设置必须为【返回时关闭】,不走连接池处理。
2、字段类型DATE同时支持年月日和时分秒数据,驱动只识别类型为91(统一用日期处理),无法区分是否包含时分秒;
TIMESTAMP 类型需要使用T23.OrderDate <= TO_TIMESTAMP('2016-07-05 00:00:00', 'yyyy-MM-dd HH24:MI:SS')条件查询;
DATE类型需要使用T23.OrderDate <= to_date('2016-07-05 00:00:00', 'yyyy-MM-dd HH24:MI:SS')处理。
3、数据库分页必须要求orderby 有序列 + limit(0,10),而且不支持自增列:
产品使用ROW_NUMBER() OVER(order by 1) AS NUM作为有序列 添加一列规避作为分页处理,但是不能100%保证分页不出现重复的情况,多节点获取特殊其他的情况可能会出现分页失效的问题(多节点返回的数据【各节点返回的数据先后不确定】、select * 列排序等可能是随机的,该问题是数据库的机制决定的,产品也没办法处理),要保证有效,需要指定有序列排序后再分页,该问题厂家建议的方案是抽取或缓存以后再本做使用。
4、行云数据库只能固定处理 1月 1 日为第一周第一天开始计算年周,无法自定义周开始时间计算,自定义周开始时间设置无效。
行云数据库计算年周的类似YEARWEEK函数,通过TO_CHAR(date , 'WW')处理年周,oracle对于to_char 是有WW 和IW参数的,cirrodata目前只支持WW 这一个参数,无法处理自定义周开始时间计算年周。