Xcelsius 使用XML做为数据源 ----利用ASP与数据库进行交互,即时刷新

本文介绍如何利用Xcelsius结合ASP技术从SQL Server获取数据并实时更新仪表盘的方法。通过创建ASP文件连接数据库执行SQL语句,生成XML文件作为Xcelsius的数据源,进而实现仪表盘的动态刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Xcelsius 使用XML做为数据源

----利用ASP与数据库进行交互,即时刷新

 

 

参考文档: Connecting Xcelsius Dashboards toExternal Data Sources using XML Data Button (http://scn.sap.com/docs/DOC-10481)

Xcelsius2008_user_guide_chs

 

前言:

已经有了其它报表平台,所以不会再购买BOE,但是想用Xcelsius做Dashboard,用来解决报表平台上Dashboard不好看的问题。 那没有BOE,没有Universe,没有Qaas,想要直接连数据库刷新数据是最大的问题了。

XML可以做为数据源, 而且导出的Flash可以根据XML自动刷新,那就来研究一下。当然可以也可以做一个web service,这个没研究(作为一个不懂编程的人来说,自己做Web Service发布Query太困难)。

 

1.  ASP连接SQL Server生产XML;

参考了官方文档Xcelsius2008_user_guide_chs,(这坑爹的)文档里章节9.1.6.2“用户指南示例:XML_data(XML 数据- 高级)”, 明明提到了XML_Data使用ASP提交和执行SQL,在安装目录里却找不到Sample文件,自己尝试改文档中提到的Addresults.aspx也不行,肯定是样例的页面里还缺了什么东西。

a)   获得ASP文件

SAP上找来的2005年的文档: Connecting Xcelsius Dashboards to External Data Sources using XMLData Button。(感谢当年的作者啊,对于我们不懂ASP的人来说就是救星。)

b)   测试ASP代码

测试了文档中的Getresults.ASPx 代码可以用,直接在这个基础上修改,连接自己的数据库,执行自己的SQL。

c)   修改ASP文件

ASP文件需要修改的内容如下:

  • 修改SQL Server 连接信息;
  • 修改执行的SQL;
  • 中间增加了一个ID做为参数,将在后面进行讲解;(不需要参数的可以删掉,记得同时删掉SQL里面的Where条件ID)

修改后的ASP文件可以满足连接SQL Server,执行SQL,然后将结果拼成XML文件。

 

2.  拷贝文件到Web Server

假如你已经有了Web服务,可以将修改后的文件Copy到你的Web服务目录下; 我本机有IIS,所以Copy到C:\inetpub\wwwroot目录下。没有也可以,放本地任意目录下,只是后面预览报表时可能遇到跨域等问题,需要添加信任文件。

 

3.  制作报表;

a)   加入一个列表框,选择源是准备好的数据CampaignCode,选择结果插入B2;

b)   添加一个文本标签框,用于展示列表框选择结果B2;

c)   添加一个文本标签框,用于展示URL和B2的拼接结果E5; E4为编辑后的ASP文件的路径;

 

d)   添加数据连接: 打开“管理连接”,选择添加XML数据,URL选择E5,名称Range0必须和ASP文档中的保持一致,结果插入范围D8-G8。

 


 

e)   配置XML刷新:

可以选择自动刷新,也可以增加一个Button用来手动刷新。(关于如何添加一个Button刷新XML数据请参考官方Guide。)

 

f)   选择“电子表格”, 用于展示XML的结果,展示数据范围为刚刚XML插入的范围D8-G8。

4.  预览报表

当选择一个参数后,参数值‘DM14061’会被插入B2,URL会被拼接为所示内容’http://Localhost/parameter0.asp?ID=’DM140601’’, 然后ASP会执行SQL, 并将结果拼接为XML文件,插入D8-G8的位置,报表通过电子表格展现出来。

 

5.  附件

附件为Sample,请根据自己的实际环境配置数据库连接信息以及SQL执行信息。(发帖不能黏贴附件,文档上传在 http://download.youkuaiyun.com/detail/zzphapy/7788881 ,去下载吧)

 


资源下载链接为: https://pan.quark.cn/s/f989b9092fc5 HttpServletRequestWrapper 是 Java Servlet API 中的一个工具类,位于 javax.servlet.http 包中,用于对 HttpServletRequest 对象进行封装,从而在 Web 应用中实现对 HTTP 请求的拦截、修改或增强等功能。通过继承该类并覆盖相关方法,开发者可以轻松地自定义请求处理逻辑,例如修改请求参数、添加请求头、记录日志等。 参数过滤:在请求到达处理器之前,可以对请求参数进行检查或修改,例如去除 URL 编码、过滤敏感信息或进行安全检查。 请求头操作:可以修改或添加请求头,比如设置自定义的 Content-Type 或添加认证信息。 请求属性扩展:在原始请求的基础上添加自定义属性,供后续处理使用。 日志记录:在处理请求前记录请求信息,如 URL、参数、请求头等,便于调试和监控。 跨域支持:通过添加 CORS 相关的响应头,允许来自不同源的请求。 HttpServletRequestWrapper 通过继承 HttpServletRequest 接口并重写其方法来实现功能。开发者可以在重写的方法中添加自定义逻辑,例如在获取参数时进行过滤,或在读取请求体时进行解密。当调用这些方法时,实际上是调用了包装器中的方法,从而实现了对原始请求的修改或增强。 以下是一个简单的示例,展示如何创建一个用于过滤请求参数的包装器: 在 doFilter 方法中,可以使用 CustomRequestWrapper 包装原始请求: 这样,每当调用 getParameterValues 方法时,都会先经过自定义的过滤逻辑。 HttpServletRequestWrapper 是 Java Web 开发中一个强大的工具,它提供了灵活的扩展性,允许开发者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值