利用Oracle的utl_smtp 发送邮件(公网邮件和服务器)
CREATE OR REPLACE PROCEDURE send_mail(
p_recipient VARCHAR2, -- 邮件接收人
p_subject VARCHAR2, -- 邮件标题
p_message VARCHAR2 -- 邮件正文
)
IS
--下面四个变量请根据实际邮件服务器进行赋值
v_mailhost VARCHAR2(30) := 'smtp.163.com'; --SMTP服务器地址
v_user VARCHAR2(30) := 'user'; --登录SMTP服务器的用户名;只是用户名,不包括163.com部分
v_pass VARCHAR2(20) := 'pass'; --登录SMTP服务器的密码
v_sender VARCHAR2(50) := 'user@xxx.com'; --发送都邮箱,一般与 ps_user 对应
v_conn UTL_SMTP.connection; --到邮件服务器的连接
v_msg varchar2(4000); --邮件内容
BEGIN
v_conn := UTL_SMTP.open_connection(v_mailhost, 25);
UTL_SMTP.ehlo(v_conn, v_mailhost); --是用 ehlo() 而不是 helo() 函数
--否则会报:ORA-29279: SMTP 永久性错误: 503 5.5.2 Send hello first.
UTL_SMTP.command(v_conn, 'AUTH LOGIN'); -- smtp服务器登录校验
UTL_SMTP.command(v_conn,UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(v_user))));
UTL_SMTP.command(v_conn,UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(v_pass))));
UTL_SMTP.mail(v_conn, '<' || v_sender || '>'); --设置发件人
UTL_SMTP.rcpt(v_conn, '<' || p_recipient || '>'); --设置收件人
&n
相关文档:
主要方法是通过使用CASE表达式来“标记”一个值是否为NULL。这里标记有两个值,一个表示NULL,一个表示非NULL。这样,只要在ORDER BY子句中增加标记列,便可以很容易的控制空值是排在前面还是排在后面,而不会被空值所干扰。
SQL> select ename,sal,comm from emp;
ENAME SAL COMM
----- ......
今天复习Oracle的数据字典和控制文件。
一、数据字典
数据字典是由Oracle服务器创建和维护的一组只读的系统表,数据字典分为两大类:一类为基表,一类为数据字典视图。那么数据字典中又存有哪些信息呢?
1、数据库的逻辑结构和物理结构
2、所有数据库对 ......
ORACLE和SQL语法区别归纳
数据类型比较
类型名称
Oracle
SQLServer
比较
字符数据类型 CHAR CHAR 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
变长字符数据类型 VARCHAR2 VARCHAR Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
根据字符集而定的固定长度字符串 NCHAR NCHA ......
常要oracle数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作,这时需要用到一个函数dbms_job.submit,来完成Oracle定时器Job时间的处理上。使用dbms_job.submit这个函数,我们只需要考虑两个事情:安排某一任务,和定制一个执行任务的时间点。但最重要也是最棘 ......
收集一些Oracle开发与使用文章,以便于后续查找.
【基础类】
1.ORACLE函数大全
2.Orace常用函数
3.oracle 日期函数介绍
4.Oracle中常用的to_Char用法详解(有FMT的详细列表)
5.ORACLE中日期和时间函数汇总(转载)
6.SQL Server和Oracle常用函数对比
7.Oracle函数详解
8.Oracle 分析函数的使用
9.Oracle for ......