报表软件FineReport如何连接SAP HANA
1. 环境搭建
1.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,测试连接,连接成功即可
3. 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语句,把语句拿过来复制粘贴到此处即可