标签:synonym 同义词 cordys webservice
以展现流程业务信息列表为例,介绍使用Oracle同义词解决方案。
在Oracle数据库BPM_SUN用户中有如下对象:
对象名称 | 类型 | 说明 |
---|---|---|
sun_biz_base | table | |
sub_focusprocess | table | |
sub_biz_info | synonym | create synonym SUN_BIZ_INFO for BPM_MANAGER.BIZ_INFO; |
查询列表SQL语句如下所示:
select a.title,to_char(a.live_date,‘yyyy-mm-dd‘),b.endflow
from sun_biz_info a,sun_biz_base b
where a.info_id = b.info_id and a.rvsn_number=b.rvsn_number;
查询结果如下:
在数据源(Database MateData)中,Oracle数据库对象只有:Tables、Views、Procedures三种,无同义词Synonyms选项。
怎样能使用同义词(Synonyms)呢?
在创建Webservice时,先选择可见的某个或几个数据库中的表,如上图例所示选择了SUN_BIZ_BASE和SUN_FOCUSPROCESS两个表。
新建自定义Webservice,名称为:QueryBizList
通过WS-AppServer Package工具,生成如下Java代码,再通过同步代码到SVN,基于Eclipse开发工具,编写涉及到同义词SQL语句代码。
/*
This class has been generated by the Code Generator
*/
package com.unicom.sun.sunpackage;
import com.cordys.cpc.bsf.busobject.BusObjectConfig;
import com.cordys.cpc.bsf.busobject.QueryObject;
public class SUN_BIZ_BASE extends SUN_BIZ_BASEBase
{
public SUN_BIZ_BASE()
{
this((BusObjectConfig)null);
}
public SUN_BIZ_BASE(BusObjectConfig config)
{
super(config);
}
public static String QueryBizList()
{
String sql="select a.title,to_char(a.live_date,‘yyyy-mm-dd‘),b.endflow ";
sql += " from sun_biz_info a,sun_biz_base b ";
sql += " where a.info_id = b.info_id and a.rvsn_number=b.rvsn_number";
QueryObject query = new QueryObject(sql);
// TODO implement body
return query.getObject().toString();
}
}
注:上述SQL语句中,“表”sun_biz_info是同义词。
通过SVN把Java代码导回Cordys平台,编译代码并发布及发布Webservice,使用Webservice测试工具Operation Test Tool,测试结果如下:
通过本次验证,实现了在Cordys平台上使用Oracle同义词技术方案,结论如下:
由于作者水平有限,欢迎反馈讨论。
相关文档:Oracle同义词简明用法 肖永威 2015.5
标签:synonym 同义词 cordys webservice
原文地址:http://blog.csdn.net/xiaoyw71/article/details/45935199