apex中无法通过外部sql调用数据库过程(apex安全机制)
2010-03-01 11:17
411 查看
APEX的一种安全机制,在APEX之外运行其数据库内部的存储过程需要在过程中
调用APEX的API命令,否则就会报错
ORA-20001: This procedure must be invoked from within an application session.
要求必须从一个应用程序会话中调用,
要运行从SQL Developer或计划任务调度使用数据库,需要手动设置在执行Apex的API或访问数据的情况下安全组的命令
APEX中发送邮件:
begin
apex_mail.send(
p_to => 'to_user@their_company.com', -- change email address
p_from => 'your_email@company.com', -- change to your email address
p_body => 'Main email text goes here',
p_subj => 'APEX_MAIL Package - Plain Text message'
);
end;
首先获取工作区编号:
select workspace, schemas, workspace_id
from apex_workspaces;
然后修改为
begin
wwv_flow_api.set_security_group_id(workspace_id);
apex_mail.send(
p_to => 'to_user@their_company.com', -- change email address
p_from => 'your_email@company.com', -- change to your email address
p_body => 'Main email text goes here',
p_subj => 'APEX_MAIL Package - Plain Text message'
);
end;
调用APEX的API命令,否则就会报错
ORA-20001: This procedure must be invoked from within an application session.
要求必须从一个应用程序会话中调用,
要运行从SQL Developer或计划任务调度使用数据库,需要手动设置在执行Apex的API或访问数据的情况下安全组的命令
APEX中发送邮件:
begin
apex_mail.send(
p_to => 'to_user@their_company.com', -- change email address
p_from => 'your_email@company.com', -- change to your email address
p_body => 'Main email text goes here',
p_subj => 'APEX_MAIL Package - Plain Text message'
);
end;
首先获取工作区编号:
select workspace, schemas, workspace_id
from apex_workspaces;
然后修改为
begin
wwv_flow_api.set_security_group_id(workspace_id);
apex_mail.send(
p_to => 'to_user@their_company.com', -- change email address
p_from => 'your_email@company.com', -- change to your email address
p_body => 'Main email text goes here',
p_subj => 'APEX_MAIL Package - Plain Text message'
);
end;
相关文章推荐
- sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。
- 在存储过程中调用外部的动态连接库(MS SQL Server7.0/2000环境)
- 通过反射机制获得系统字体Size【ActivityManagerNative无法调用问题】
- 使用sys无法通过sqlplus或者sqldeveloper连接数据库 分类: H2_ORACLE 2013-02-04 14:02 600人阅读 评论(0) 收藏
- Asp.Net访问Oracle 数据库执行SQL语句和调用存储过程
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 【Oracle】在存储过程里调用外部数据库
- SQL创建数据库、表、存储过程及调用
- 调用存储过程,java中通过bboss persistent实现数据库存储过程的调用(位置变量绑定)
- 使用sys无法通过sqlplus或者sqldeveloper连接数据库
- 数据库学习第二季第五集:编程语言的存储过程和函数机制及其编程语言的调用学习总结
- 通过SQL存储过程删除过期的数据库Bak备份文件或其它文件
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
- Cocos2dx通过JniHelper调用java函数,报错error link2019: 无法解析的外部命令
- SQL SERVER 数据库通过连接服务器 调用ORACLE 数据库中的存储过程
- 数据库存储过程中定义一个变量,通过sql语句在数据表中获取这个变量值的方法。
- 使用sys无法通过sqlplus或者sqldeveloper连接数据库
- 通过java 程序调用数据库中的存储过程
- 通过SQL存储过程删除过期的数据库Bak备份文件或其它文件
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程