oracle包授权执行
工作里使用oracle数据库,为集成多种业务组件数据库端访问,因每个独立业务以分别用户隔离,建立集成连接用户,应用端访问此用户,在此用户下建立同义词,各个业务系统均可访问
其中涉及包对象集成,建立过程如下:
- 业务用户中正常建立包和包体
- 业务用户授权集成用户可执行此包
- 集成用户下建立此包同义词
参考脚本如下
例如,业务用户名为:dawn_dev,集成用户名为:
业务用户中包和包体这里以简单对象功能示例
包声明定义
create or replace package d_fc is
-- Public function and procedure declarations
function get_name return varchar2;
end d_fc;
包体定义
create or replace package body d_fc is
-- Function and procedure implementations
function get_name return varchar2 is
begin
return 'xc';
end;
end d_fc;
业务用户授权集成用户可执行包:
grant execute on d_fc to conn_ptr;
集成用户下建立同义词
create or replace synonym d_fc for dawn_dev.d_fc;
完成后,在集成用户下就可以像业务用户中调用包中对象,如
declare
-- Local variables here
i varchar2(200);
begin
-- Test statements here
select d_fc.get_name() into i from dual;
dbms_output.put_line('get-name:' || i);
end;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)