System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机数据库,尤其涉及一种用于oracle ebs数据查询的技术。
技术介绍
1、oracle ebs(oracle e-business suit,oracle电子商务套件)是美国oracle(甲骨文)公司的应用产品,是其原来erp(enterprise resource planning,企业资源计划)产品基础上的扩展,是将erp、hr(human resource,人力资源)、crm(customer relationshipmanagement,客户关系管理)等多种管理软件无缝集成在一起的一个管理套件。
2、目前,针对oracle ebs查询接口api(application programming interface,应用程序编程接口)传统的开发方式通常是:首先,创建针对具体查询接口api的pl/sql(procedure language/standards query language,过程化sql语言)包,不同查询接口api开发需要重复编写解析请求报文、分页查询和生成响应报文件等代码。其次,在调试阶段,需要借助api平台或者第三方工具,而且每次需要手工编写代码重复度高的请求报文。再次,在正式环境发布和部署阶段,需要dba(database administrator,数据库管理员)或者系统管理员参与,增加了人力资源成本。而且,其中如果涉及到查询表结构有修改、添加或删除字段,则调用该pl/sql包会在一段时间内处于失效状态,从而导致第三方业务系统无法调用该查询接口api,从而会影响第三方业务系
3、因此,oracle ebs查询接口api传统的开发方式存在开发效率不高的技术问题。
技术实现思路
1、本申请的目的是提供一种用于oracle ebs数据查询的方法、装置及设备,用以至少部分解决现有技术中oracle ebs查询接口api开发方式开发效率不高的技术问题。
2、根据本申请的一方面的一个实施例,提供了一种用于oracle ebs数据查询的方法,其中,所述方法基于通用查询接口api引擎实施,包括:
3、将通过测试的sql查询脚本中的所有参数提示符替换成对应的若干个预设变量,得到接口sql查询脚本,并配置接口代码和若干个接口参数,其中,所述接口代码与所述接口sql查询脚本和所述接口参数关联,所述接口参数与所述预设变量一一对应;
4、基于预设的每页行数、所述接口代码、输入的查询页码和所述接口参数的参数值,生成请求报文;
5、基于所述请求报文和所述接口sql查询脚本,生成分页sql查询脚本,其中,所述接口参数的参数值一一对应赋值予所述预设变量;
6、执行所述分页sql查询脚本,生成响应报文,并将所述响应报文返回,以完成oracle ebs数据查询。
7、可选地,其中,所述基于所述请求报文和所述接口sql查询脚本,生成分页sql查询脚本包括:
8、基于所述请求报文中的接口代码,确定关联的所述接口sql查询脚本;
9、基于所述请求报文中的所述每页行数、所述查询页码和所述接口sql查询脚本,生成分页sql查询脚本。
10、可选地,其中,所述执行所述分页sql查询脚本,生成响应报文包括:
11、打开游标,对所述分页sql查询脚本进行解析,得到分页查询游标,并通过所述接口代码得到接口参数游标;
12、将所述接口参数及其参数值转换成json参数集,并循环所述接口参数游标,根据所述接口参数游标的参数名称,解析所述json参数集,获得所述参数名称的参数名称值,并将该参数名称值与所述分页查询游标中对应的预设变量进行绑定;
13、获取所述分页查询游标的标准字段列属性数组,并转换成自定义字段列属性数组,其中,所述标准字段列属性至少包括:字段名称、数据类型,所述自定义字段列属性至少包括:字段名称、数据类型和key,其中,对所述标准字段列属性的字段名称进行驼峰转换,得到所述自定义字段列属性key的值;
14、创建并初始化数据json对象,循环所述分页查询游标,若每次成功查询到数据,则创建并初始化行json对象,嵌套循环对应的自定义字段列属性组数,以通过所述自定义字段列属性字段名称,获得对应的key的值和字段值,以及将所述key的值作为所述行json对象的键名,所述字段值作为所述行json对象的值,并把所述行json对象顺序追加到所述数据json对象;
15、创建并初始化响应报文json对象,将所述数据json对象设置为所述响应报文json对象的数据键名的值,并将所述响应报文json对象转换成clob类型响应报文对象,作为响应报文。
16、可选地,所述方法还包括:
17、根据所述数据json对象,分别设置所述响应报文json对象的状态代码和返回信息。
18、根据本申请的另一方面的另一个实施例,提供了一种用于oracle ebs数据查询的装置,部署有通用查询接口api引擎,其中,所述装置包括:
19、第一模块,用于将通过测试的sql查询脚本中的所有参数提示符替换成对应的若干个预设变量,得到接口sql查询脚本,并配置接口代码和若干个接口参数,其中,所述接口代码与所述接口sql查询脚本和所述接口参数关联,所述接口参数与所述预设变量一一对应;
20、第二模块,用于基于预设的每页行数、所述接口代码、输入的查询页码和所述接口参数的参数值,生成请求报文;
21、第三模块,用于基于所述请求报文和所述接口sql查询脚本,生成分页sql查询脚本,其中,所述接口参数的参数值一一对应赋值予所述预设变量;
22、第四模块,用于执行所述分页sql查询脚本,生成响应报文,并将所述响应报文返回,以完成oracle ebs数据查询。
23、与现有技术相比,本申请提供了一种用于oracle ebs数据查询的方法装置及设备,其方法包括:将通过测试的sql查询脚本中的所有参数提示符替换成对应的若干个预设变量,得到接口sql查询脚本,并配置接口代码和若干个接口参数,其中,所述接口代码与所述接口sql查询脚本和所述接口参数关联,所述接口参数与所述预设变量一一对应;基于预设的每页行数、所述接口代码、输入的查询页码和所述接口参数的参数值,生成请求报文;基于所述请求报文和所述接口sql查询脚本,生成分页sql查询脚本,其中,所述接口参数的参数值一一对应赋值予所述预设变量;执行所述分页sql查询脚本,生成响应报文,并将所述响应报文返回,以完成oracle ebs数据查询。通过该方法,基于通用查询接口api引擎,在查询oracle ebs数据时,只需要编写通用的sql查询脚本,根据实际应用场景配置接口代码和相关接口参数即可,而且在实际应用时调用统一封装的通用查询接口api引擎中的代码,自动解析请求报文、生成分页查询sql脚本和获取响应报文。实现了查询接口api的标准化、本文档来自技高网...
【技术保护点】
1.一种用于Oracle EBS数据查询的方法,其特征在于,所述方法基于通用查询接口API引擎实施,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述请求报文和所述接口SQL查询脚本,生成分页SQL查询脚本包括:
3.根据权利要求1所述的方法,其特征在于,所述执行所述分页SQL查询脚本,生成响应报文包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.一种用于Oracle EBS数据查询的装置,其特征在于,部署有通用查询接口API引擎,所述装置包括:
6.一种计算机可读介质,其特征在于,
7.一种用于Oracle EBS数据查询的设备,其特征在于,所述设备包括:
【技术特征摘要】
1.一种用于oracle ebs数据查询的方法,其特征在于,所述方法基于通用查询接口api引擎实施,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述请求报文和所述接口sql查询脚本,生成分页sql查询脚本包括:
3.根据权利要求1所述的方法,其特征在于,所述执行所述分页sql查询脚本,生成响应报文...
【专利技术属性】
技术研发人员:陈显平,王仕友,王博,程黎辉,关亚东,
申请(专利权)人:上海龙旗智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。