这些异构数据源包括:各种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
本文介绍如何在AquaLogic Data Service Platform (DSP)中配置Excel作为数据源,并详细讲解了配置过程及限制条件。














443

被折叠的 条评论
为什么被折叠?



