使用Oracle发送邮件
CREATE OR REPLACE PROCEDURE sendemailtest
(mailmsg IN Varchar2)
IS
--using mail server to send email.
mailconn UTL_SMTP.connection;
mailhost VARCHAR2 (20);
mailfrom VARCHAR2 (30);
BEGIN
--(1) open connection to mail server.
mailhost := 'xxx.xxx.xxx.xxx';
mailfrom := 'Test@MailAddress.com';
mailconn := UTL_SMTP.open_connection(mailhost);
UTL_SMTP.helo (mailconn, mailhost);
UTL_SMTP.mail (mailconn, mailfrom);
--(2) set recipients.
UTL_SMTP.rcpt (mailconn, 'ToMail@MailAddress.com');
--(3) send content.
UTL_SMTP.open_data (mailconn);
UTL_SMTP.write_data(mailconn, 'Date: '||to_char(sysdate,'yyyy/mm/dd hh24:mi:ss')|| UTL_TCP.crlf);
UTL_SMTP.write_data(mailconn, 'from: fromWho' || UTL_TCP.crlf);
UTL_SMTP.write_data(mailconn, 'To: ToWho' || UTL_TCP.crlf);
UTL_SMTP.write_data(mailconn, 'Subject: TestSendMail' || UTL_TCP.crlf);
UTL_SMTP.write_data(mailconn, 'MIME-Version: 1.0' || UTL_TCP.crlf);
UTL_SMTP.write_data(mailconn, 'Content-Type: text/html; charset=utf-8' || UTL_TCP.crlf );
UTL_SMTP.write_data(mailconn, 'Content-Transfer-Encoding: "8Bit"' || UTL_TCP.crlf);
UTL_SMTP.write_data (mailconn, UTL_TCP.crlf || mailmsg);
UTL_SMTP.close_data (mailconn);
--(4) close connection.
UTL_SMTP.quit (mailconn);
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SUBSTR (SQLERRM, 1, 100));
END;
相关文档:
1. 解释FUNCTION,PROCEDURE和PACKAGE区别
答:function 和procedure是PL/SQL代码的集合,通常为了完成一个任务。procedure 不需要返回任何值而function将返回一个值在另一方面,Package是为了完成一个商业功能的一组function和procedure的集合。
2. 取某个序列的当前值的PL/SQL语 ......
Oracle developer以其快速的数据处理开发而闻名,其异常处理机制也是比较完善,不可小觑。
1、 异常的优点
如果没有异常,在程序中,应当检查每个命令的成功还是失败,如
BEGIN
SELECT ...
-- check for ’no data found’ error
SELECT ...
-- check for ’no data found’ error
SEL ......
近日在学习Oracle 10G的过程中遇到一个问题,关闭数据库(shutdown immediate)后,再重启数据库(startup),启动失败,12514的错误,如果通过sqlplus /nolog进入数据库以后,用conn连接,一样不行。重新打开一个cmd窗口,输入:
sqlplus
用户名:sys@sim as sysdba,密码输入完成后,仍然出现如下错误:
ORA ......
一:
使用Profile对用户Session会话进行资源限制
--但是如果使用了连接池之类的东东,就会出些问题,比如前台连接不上之类的
--http://www.eygle.com/archives/2008/10/profile_session_limit.html
sqlplus "/ as sysdba"
SQL> show parameter resource
SQL> alter system set resource_limit= ......
1、序列定义
ORACLE:
CREATE SEQUENCE <sequence_name>
INCREMENT BY <integer>
&n ......