在AquaLogic Data Service Platform中配置Excel作为数据源

本文介绍如何在AquaLogic Data Service Platform (DSP)中配置Excel作为数据源,并详细讲解了配置过程及限制条件。

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

AquaLogic Data Service Platform(即以前的BEA liquid Data for Weblogic)中可以方便的访问多种不同的数据源,为多种异构的数据源提供统一视图,可以经过Data Service控件的封闭后给Portal,Integration,JPF等程序提供良好的数据层服务。

  这些异构数据源包括:各种JDBC可以访问的数据库,Web Services,很多不同类型的文件,包括XML文件,CSV文件,还有普通java类提供的函数功能。

  现在在DSP中加载Excel支持包,可以直接访问Excel文件,将Excel文件中的数据以XmlObject的形式读出,供J2EE应用程序访问。

  下面一步步来讲解在DSP中配置Excel作为数据源的过程

基本原理

  在DSP中访问Excel是利用Weblogic Server提供的jcom功能来访问Excel文件的,其基本原理如下:

  在上面的示图中,我们看到,java应用程序是通过JCOM组件来访问Windows操作系统中的Com服务器,再由Com服务器作为桥梁来存取磁盘中的Excel文件。

  基于由上原理,在使用Excel作为数据源时有几点限制:

  • 安装DSP的Weblogic Server必须安装在windows操作系统上。
  • Excel文件必须存在本机中,即不能远程访问。
安装软件

  下载与安装Bea Weblogic Platform 8.1.5,AcquaLogic Data Service Platform 2.0.1,然后利用配置向导建立支持DSP的域。

建立Data Service

  在workshop中建立Data Service的步骤如下:

1.新建DSP应用程序

2.加入相关支持库:

  安装DSP后在<beahome>\weblogic81\samples\LiquidData\EvalGuide\ excel\lib文件夹中,有两个jar包,excel.jar和exceljf_xbean.jar。需要将这两个包导入应用程序的库中。

3.导入Java Functions

  在DSP工程下新建functions文件夹,导入文件:

<beahome>\weblogic81\samples\LiquidData\EvalGuide\excel_jcom.java.

*注:新建functions文件夹的目的是因为excel_jcom.java中使用package functions;

4.编译整个项目

  编译整个项目的目的是将excel_jcom.java生成class文件。

5.导入元数据

  在functions文件夹上点键,选“import Source MetaData …”

  数据源类型选择:Java Function

下一步:

输入类名:

在选Java文件中,下一步,选中Java Functions:“getExcel”,加入到选中Functions列表中。

下一步

完成

数据源已经建好。

6.测试

打开测试视图

  输入两个参数,就getExcel的两个参数,第一个参数是文件名,第二个参数是sheet名,

  输入:x1: c:\BEA\weblogic81\samples\liquiddata\EvalGuide\excel\test.xls

x2:Customers (要区分大小)

执行测试,

测试成功。

7.编译发布数据源

  然后编译整个应用程序,发布Data Service

  发布成功可以在ldconsole里查看:

在BMP中测试Data Service

  Data Service发布后,就可以在其它java程序中直接使用了。其步骤如下:

4.1添加DataService控件

4.2 创建方法

4.3 控件生成

Data Service控件生成后就可以类似使用其它控件一样方便的使用了。

4.4 使用BMP测试

BMP流程如下:

部署应用程序,开始测试:

返回XML为:


< exc:excel xmlns:exc ="http://www.bea.com/excel" >
< cells >
< cell cellID ="AAAA:0001" > CustomerID </ cell >
< cell cellID ="AAAB:0001" > Customername </ cell >
< cell cellID ="AAAC:0001" > City </ cell >
< cell cellID ="AAAD:0001" > SalesPeopleID </ cell >
< cell cellID ="AAAA:0002" > 2001.0 </ cell >
< cell cellID ="AAAB:0002" > Hoffman </ cell >
< cell cellID ="AAAC:0002" > London </ cell >
< cell cellID ="AAAD:0002" > 1001.0 </ cell >
< cell cellID ="AAAA:0003" > 2002.0 </ cell >
< cell cellID ="AAAB:0003" > Alex </ cell >
< cell cellID ="AAAC:0003" > Rome </ cell >
< cell cellID ="AAAD:0003" > 1003.0 </ cell >
< cell cellID ="AAAA:0004" > 2003.0 </ cell >
< cell cellID ="AAAB:0004" > Liu </ cell >
< cell cellID ="AAAC:0004" > SanJose </ cell >
< cell cellID ="AAAD:0004" > 1002.0 </ cell >
< cell cellID ="AAAA:0005" > 2004.0 </ cell >
< cell cellID ="AAAB:0005" > Grass </ cell >
< cell cellID ="AAAC:0005" > Berlin </ cell >
< cell cellID ="AAAD:0005" > 1002.0 </ cell >
< cell cellID ="AAAA:0006" > 2006.0 </ cell >
< cell cellID ="AAAB:0006" > Clements </ cell >
< cell cellID ="AAAC:0006" > London </ cell >
< cell cellID ="AAAD:0006" > 1001.0 </ cell >
< cell cellID ="AAAA:0007" > 2008.0 </ cell >
< cell cellID ="AAAB:0007" > Cisneros </ cell >
< cell cellID ="AAAC:0007" > SanJose </ cell >
< cell cellID ="AAAD:0007" > 1007.0 </ cell >
< cell cellID ="AAAA:0008" > 2007.0 </ cell >
< cell cellID ="AAAB:0008" > Pereira </ cell >
< cell cellID ="AAAC:0008" > Rome </ cell >
< cell cellID ="AAAD:0008" > 1004.0 </ cell >
< cell cellID ="AAAA:0009" > 14031.0 </ cell >
< cell cellID ="AAAB:0009" />
< cell cellID ="AAAC:0009" />
< cell cellID ="AAAD:0009" />
< cell cellID ="AAAA:0010" />
< cell cellID ="AAAB:0010" />
< cell cellID ="AAAC:0010" />
< cell cellID ="AAAD:0010" />
< cell cellID ="AAAA:0011" > Amountofcustomer </ cell >
< cell cellID ="AAAB:0011" />
< cell cellID ="AAAC:0011" > 7.0 </ cell >
< cell cellID ="AAAD:0011" />
< cell cellID ="AAAA:0012" > Minimumofrating </ cell >
< cell cellID ="AAAB:0012" />
< cell cellID ="AAAC:0012" > 1001.0 </ cell >
< cell cellID ="AAAD:0012" />
< cell cellID ="AAAA:0013" > Maximumofrating </ cell >
< cell cellID ="AAAB:0013" />
< cell cellID ="AAAC:0013" > 1007.0 </ cell >
< cell cellID ="AAAD:0013" />
< cell cellID ="AAAA:0014" > Averageofrating </ cell >
< cell cellID ="AAAB:0014" />
< cell cellID ="AAAC:0014" > 1002.8571428571429 </ cell >
< cell cellID ="AAAD:0014" />
< cell cellID ="AAAA:0015" />
< cell cellID ="AAAB:0015" />
< cell cellID ="AAAC:0015" />
< cell cellID ="AAAD:0015" />
</ cells >
< row rowID ="0001" rowNumber ="1" >
< col columnID ="AAAA" columnName ="A" > CustomerID </ col >
< col columnID ="AAAB" columnName ="B" > Customername </ col >
< col columnID ="AAAC" columnName ="C" > City </ col >
< col columnID ="AAAD" columnName ="D" > SalesPeopleID </ col >
</ row >
< row rowID ="0002" rowNumber ="2" >
< col columnID ="AAAA" columnName ="A" > 2001.0 </ col >
< col columnID ="AAAB" columnName ="B" > Hoffman </ col >
< col columnID ="AAAC" columnName ="C" > London </ col >
< col columnID ="AAAD" columnName ="D" > 1001.0 </ col >
</ row >
< row rowID ="0003" rowNumber ="3" >
< col columnID ="AAAA" columnName ="A" > 2002.0 </ col >
< col columnID ="AAAB" columnName ="B" > Alex </ col >
< col columnID ="AAAC" columnName ="C" > Rome </ col >
< col columnID ="AAAD" columnName ="D" > 1003.0 </ col >
</ row >
< row rowID ="0004" rowNumber ="4" >
< col columnID ="AAAA" columnName ="A" > 2003.0 </ col >
< col columnID ="AAAB" columnName ="B" > Liu </ col >
< col columnID ="AAAC" columnName ="C" > SanJose </ col >
< col columnID ="AAAD" columnName ="D" > 1002.0 </ col >
</ row >
< row rowID ="0005" rowNumber ="5" >
< col columnID ="AAAA" columnName ="A" > 2004.0 </ col >
< col columnID ="AAAB" columnName ="B" > Grass </ col >
< col columnID ="AAAC" columnName ="C" > Berlin </ col >
< col columnID ="AAAD" columnName ="D" > 1002.0 </ col >
</ row >
< row rowID ="0006" rowNumber ="6" >
< col columnID ="AAAA" columnName ="A" > 2006.0 </ col >
< col columnID ="AAAB" columnName ="B" > Clements </ col >
< col columnID ="AAAC" columnName ="C" > London </ col >
< col columnID ="AAAD" columnName ="D" > 1001.0 </ col >
</ row >
< row rowID ="0007" rowNumber ="7" >
< col columnID ="AAAA" columnName ="A" > 2008.0 </ col >
< col columnID ="AAAB" columnName ="B" > Cisneros </ col >
< col columnID ="AAAC" columnName ="C" > SanJose </ col >
< col columnID ="AAAD" columnName ="D" > 1007.0 </ col >
</ row >
< row rowID ="0008" rowNumber ="8" >
< col columnID ="AAAA" columnName ="A" > 2007.0 </ col >
< col columnID ="AAAB" columnName ="B" > Pereira </ col >
< col columnID ="AAAC" columnName ="C" > Rome </ col >
< col columnID ="AAAD" columnName ="D" > 1004.0 </ col >
</ row >
< row rowID ="0009" rowNumber ="9" >
< col columnID ="AAAA" columnName ="A" > 14031.0 </ col >
< col columnID ="AAAB" columnName ="B" />
< col columnID ="AAAC" columnName ="C" />
< col columnID ="AAAD" columnName ="D" />
</ row >
< row rowID ="0010" rowNumber ="10" >
< col columnID ="AAAA" columnName ="A" />
< col columnID ="AAAB" columnNam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值