oracle发送邮件存储过程:
oracle发送邮件存储过程:
create or replace procedure bsd_sendemail(
p_receiver varchar2,
p_sub varchar2,
p_txt varchar2)
is
p_user varchar2(30):='';
p_pass varchar2(30):='';
p_sendor varchar2(20):='Gnie';
p_server varchar2(20):='Mail_Server_IP';
p_port number:=25;
p_need_smtp number:=0;
p_subject varchar2(4000);
l_crlf varchar2(2):=utl_tcp.crlf;
l_sendoraddress varchar2(4000);
l_splite varchar2(10):='++';
boundary constant varchar2(256):='-----BYSUK';
first_boundary constant varchar2(256):='--'||boundary||l_crlf;
last_boundary constant varchar2(256):='--'||boundary||'--'||l_crlf;
multipart_mime_type constant varchar2(256):='multipart/mixed boundary := "' || boundary || '"';
type address_list is table of varchar2(100) index by binary_integer;
my_address_list address_list;
---------------------------------------分割邮件地址----------------------------------------------
procedure p_splite_str(p_str varchar2,p_splite_flag int default 1 )
is
l_addr varchar2(254):='';
l_len int;
l_str varchar2(4000);
j int:=0;--表示邮件地址或者附件的个数
begin /*处理接收邮件地址列表,包括去空格、将;转换为,等*/
l_str:=trim(rtrim(replace(replace(p_str,';',','),'',''),','));
l_len:=length(l_str);
for i in 1..l_len loop
if substr(l_str,i,1) <> ',' then
l_addr:=l_addr||substr(l_str,i,1);
else j:=j+1;
if p_splite_flag = 1 then--表示处理邮件地址
--前后需要加上'<>',否则很多邮箱将不能发送邮件
l_addr:='<'||l_addr||'>';
--调用邮件发送过程
my_address_list(j):=l_addr;
end if;
l_addr:='';
end if;
if i=l_len then
j:=j+1;
if p_splite_flag=1 then
--调用邮件发送过程
l_addr:='<'||l_addr||'>';
my_address_list(j):=l_addr;
end if;
end if;
end loop;
end;
-------------------------------
相关文档:
近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有一些帮助。
一、监听器(LISTENER)
监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提 ......
oracle 数据库里查看表空间施用景况;
oracle表空间的事儿情况要常常查看,正常闲空比率过低的时分就应该思考增大表看空间了。查看步骤如次SQL:
步骤1:
select dbf.tablespace_name,
dbf.totalspace "总量(M)",
dbf.totalblocks as 总块数,
dfs.freespace "余下总量(M)",
dfs.freeblocks "余下块数",
(dfs.f ......
Step1. Insert empty_clob() into the Clob column of Oracle
Step2. Set autocommit to false
Step3. Select Clob as oracle.sql.CLOB from database
Step4. Insert String into Clob
Step5. Commit
Example:
import java.sql.*;
import java.io.*;
import oracle.jdbc.driver.OracleResultSet;
......
单行函数:
函数类别:
单行:返回单个结果:substr,length
多行:返回多个结果,any,all
单行的分类:
字符类,日期类,数字类,转换类,通用类
1.字符类
转换大小写:
lower:转换为小写
Select ENAME,LOWER(ENAME) from EMP
upper:转换为大写
Select upper( ......
最近学了servlet和oracle,也就把他们结合下,做个分页的页面出来。算是一种复习吧。
1.首先是oracle的分页显示SQL语句:
select * from(select a.*, rownum rn from (select * from Person) a where rownum <= MaxN ......