FineReport 连接 SAP HANA 数据库
一、拷贝jar包到FR工程
将hanajdbc驱动包拷贝至报表工程WEB-INF/lib下,可以去SAP官网下载,这里我用了另一种办法:用MAVEN 去下载SAP HANA 的JDBC驱动
得到jar包
二、设计器中定义数据连接
1.JDBC方式连接
点击设计器服务器>定义数据连接,新建一个JDBC数据连接,数据库选择:Others,驱动器填写:com.sap.db.jdbc.Driver,URL填写:jdbc:sap:地址?reconnect=true,填写用户名和密码,点击连接池属性->获取连接前检验->否,测试连接按钮,连接成功即可。

2.XMLA连接方式
以下转载自优快云博主「树懒学堂」
2.1 环境搭建
环境准备
首先确认HANA Studio的环境是否允许工程进行NewFile的操作,不行的话要考虑更新Studio的版本。

HANAStudio需要依赖java jdk1.6或者1.7的版本

1.2 操作步骤
需要获取到SYSTEM账号的权限,在SYSTEM权限下进行操作
Adda System

填写正确的主机名(如IP地址)和HANA的instance number(询问管理员获得)

填写账号名和密码,点击finish

Create repository
点击Repositories页签,Create repository Workspace

新建一个Package或者选择一个原有的Package
如下图,右键->New->Repository Package 新建Package,再弹出的页面输入包名即可创建

New file XMLASrvDef.xsxmla
在新建的包下新建文件XMLASrvDef.xsxmla

编辑文件,输入service{*},点击激活按钮,如下图:

激活后的文件状态发生改变

Newfile .xsapp
同理,新建文件.xsapp,不需要输入内容,点击激活按钮
Newfile . xsprivileges
代码:
{“privileges”:
[{“name”:“SYSTEM”,“description”:“Administrationprivilege”}]
}
同理,新建文件. xsprivileges,编辑文件,输入代码如下:点击激活按钮
New file .xsaccess
同理,新建文件. xsaccess,编辑文件,输入代码如下:
{
“exposed” : true,
"authorization" :["test::SYSTEM"]
}
点击激活按钮
Newfile test.html
用于测试环境是否新建成功,同理编辑文件,点击激活按钮

配置必要的权限

Analytic Privileges中添加_SYS_BI_CP_ALL

Application Privileges中添加test::SYSTEM

1.3 测试连接
确保HANA 环境中至少存在一个Analytic view,假如没有,需要自己新建用于测试
打开浏览器,输入地址,测试连接

地址的格式:http://hostname:80[instance number]/test/XMLASrvDef.xsxmla
输入用户名和密码结果返回404,说明服务器接到了请求,给出了响应
保险起见,可以输入http://hostname:80[instance number]/test/test.html

如果看到上图,说明服务已经开启
2.新建XMLA数据连接
点击服务器>定义数据连接,新建一个XMLA数据连接,数据库类型选择SAP HANA,填写url与账号密码,选择Catalog,测试连接,连接成功即可


- FAQ
3.1
假如以上权限配置好后仍旧出现问题,尝试配置如下权限Granted Roles中添加
sap.hana.uis.db::SITE_DESIGNER: to designapplication sites
sap.hana.uis.db::SITE_USER: to useapplication sites
sap.hana.xs.lm.roles::Administrator
sap.hana.xs.ide.roles::EditorDeveloper
Object privileges中添加
GRANT_ACTIVATED_ROLE
3.2 环境搭建中遇到的问题
1.Serverreturned HTTP response code: 403 for URL
可能是(1)用户名密码错误 (2)用户权限没有配置好 (3)新建的文件如privileges没有激活,需要检查
2.Serverreturned HTTP response code: Connection refused: connect
可能是设计器中填写的url有问题,检查ip地址,检查端口号,检查xsxmla文件所在的路径是否输入正确
3.新建的文件激活时遇到问题
请联系SAP管理员
3.3 jdbc连接hana的注意点

图中的SQL验证查询是必填的选项,这个sql的获取,可以通过以下途径
打开HANAStudio,随便预览一个数据源,点击右上角的show log可以查看历史查询的SQL语句,把语句拿过来复制粘贴到此处即可
————————————————
版权声明:本文为优快云博主「树懒学堂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/nayun123/article/details/51645961
本文详细介绍了如何使用FineReport连接SAPHANA数据库,包括JDBC和XMLA两种方式。首先,需要将hanajdbc驱动包放入FR工程的WEB-INF/lib目录。对于JDBC连接,设置驱动器为com.sap.db.jdbc.Driver,URL格式为jdbc:sap:地址?reconnect=true。对于XMLA连接,需在HANAStudio中进行一系列环境配置,包括新建服务、权限设置等,并通过特定URL测试连接。遇到权限或连接问题时,可参照FAQ中的解决方案进行排查。
1167





