前置条件
RQADMIN角色
在安装ORE时,ORE安装包会自动创建RQSYS用户和RQADMIN角色,创建和删除脚本的用户需要被授权RQADMIN角色。
注意事项:RQSYS用户需要改密码,RQADMIN角色默认没有被授权给任何用户!
R客户端
ore.doEval()
ore.tableApply()
ore.groupApply()
ore.rowApply()
ore.indexApply()
ore.scriptCreate()
ore.scriptDrop()
常用场景:
library("ORE") #引入ORE库
con2 <- dbConnect(Oracle(), "rqsys", "123456") #配置连接信息建立连接
res2 <- dbGetQuery(con2, "select * from price_data") #获取结果集,传值给一个R对象
res2 <- data.frame(res2 = res2) #将上文的R对象转化成数据框,理由:Oracle端的ORE返回值类型必须是数据框
Oracle客户端
sys.rqScriptCreate()
sys.rqScriptDrop()
rqTableEval()
rqEval()
rqRowEval()
rqGroupEval()
rqDropDataStore()
rquser_DataStoreList
rquser_DataStoreContents
常用场景(写成存储过程,便于系统跑批):
begin
sys.rqscriptdrop('test'); --删除嵌入式脚本
sys.rqscriptcreate( --创建嵌入式脚本
'test', --脚本名称
' --脚本内容
function(){
library("ORE") --引入ORE库
library(ROracle)
con2 <- dbConnect(Oracle(), "rqsys", "123456") --配置连接信息建立连接
res2 <- dbGetQuery(con2, "select * from price_data") --获取结果集,传值给一个R对象
res2 <- data.frame(res2 = res2) --将上文的R对象转化成数据框,理由:Oracle端的ORE返回值类型必须是数据框
--对res2这个R对象进行计算处理……
res2 --返回值,同 return res2;
}
'
);
end;
/
select *
from table(rqEval( --rqEval()函数包含三个参数
NULL, --作用未知
'select 1 PRICE from dual', --通用查询语句,这里的 PRICE 就是结果集的列名,作用相当于别名
'test')); --脚本名称