1、创建java程序
create or replace and compile java source named sms as
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class SMS
{
public static String entry(String id)
{
String datas = "d:\\oracleFile\\oracle.txt";
File data = new File(datas);
StringBuffer backup = null;
try {
StringBuffer content = new StringBuffer();
backup = new StringBuffer();
BufferedReader san = new BufferedReader(new FileReader(data));
String line = null;
while ((line = san.readLine()) != null) {
backup.append(line);
backup.append("/n");
}
content.append("15 ");
content.append(" oracle.txt");
content.append("/n");
content.append(id);
FileWriter writer = new FileWriter(data, false);
writer.write(content.toString());
writer.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
try {
FileWriter writer = new FileWriter(data, false);
writer.write(backup.toString());
writer.flush();
} catch (Exception ex) {
ex.printStackTrace();
}
}
return id +="OK";
}
}
2、创建触发器
CREATE OR REPLACE TRIGGER LOADING_TRIGGER
AFTER INSERT OR UPDATE OR DELETE ON LOADCHANG_MAIN
FOR EACH ROW
DECLARE
OPT1 VARCHAR2(50);
BEGIN
IF INSERTING THEN
OPT1 := 'INSERT';
ELSIF UPDATING THEN
OPT1 := 'UPDATE';
ELSIF DELETING THEN
OPT1 := 'DELETE';
ELSE
OPT1 := 'UNKNOWN';
END IF;
DBMS_OUTPUT.PUT_LINE(TESTFUN(OPT1));
END LOADING_TRIGGER;
3、创建函数
CREATE OR REPLACE FUNCTION testFun(file in varchar2) return varchar2
AS LANGUAGE JAVA NAME 'SMS.entry(java.lang.String) return java.lang.String';
4、以管理员身份登陆数据库
由于要读写文件,需要对数据库用户进行文件读写授权,因此需要以管理员身份登陆数据库对用户授权
begin
dbms_java.grant_permission('GLMF','SYS:java.io.FilePermission','d:\oracleFile\*','read,write,delete');
end;
对GLMF用户授权可对D盘oracleFile文件夹下的所有文件及文件夹进行读写删除操作。
----------------------------------------8******************************************
加载java文件到数据库中,首先登陆到数据库服务器
1)加载jar到oracle数据库中
loadjava -r -f -verbose -resolve -user xmlbook/xmlbook xmlparserv2.jar
2)加载class到oracle数据库中
loadjava -r -f -user user_name/password[@URL] oracle/AAA/bbb/CCC.class
3)移除
dropjava -r -f -user user_name/password[@URL] [option_list] file_list
*******************************************************************************
create or replace and compile java source named send_sms as
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class SEND_SMS
{
public static String entry(String mobile,String content)
{
String result = "false";
try
{
result = readContentFromGet("mobile="+mobile+"&message="+URLEncoder.encode(content,"utf-8"));
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
return result;
}
public static String readContentFromGet(String parm) {
String getURL = "http://IP:PORT/api/sms/send.ashx?appid=sunisco-shared&" + parm;
HttpURLConnection connection = null;
String res = "false";
try{
URL getUrl = new URL(getURL);
connection = (HttpURLConnection) getUrl.openConnection();
connection.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
String lines;
while ((lines = reader.readLine()) != null) {
res = lines;
}
reader.close();
}catch(Exception e){
e.printStackTrace();
}finally{
if(connection != null){
connection.disconnect();
}
}
return res;
}
}
exec dbms_java.grant_permission('zhym','SYS:java.net.SocketPermission','192.168.9.12:18002','connect,resolve')
相关推荐
PL/SQL Developer(pl/sql)是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。 <br>此版本包含注册文件和简体中文语言安装包 <br>Enhancements in PL/SQL Developer 7.1.5 ====================...
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL ...
PL/SQL Developer(pl/sql 7.1.5)是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。 <br>此版本包含注册文件和简体中文语言安装包 <br>Enhancements in PL/SQL Developer 7.1.5 ==============...
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL ...
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL ...
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL ...
PL/SQL Developer(pl/sql 7.1.5)是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。 <br>此版本包含注册文件和简体中文语言安装包 <br>Enhancements in PL/SQL Developer 7.1.5 ==============...
PL/SQL语言是的SQL语言扩展,具有为程序开发而设计的特性,如数据封装、异常处理、面向对象等特性。 PL/SQL是嵌入到Oracle服务器和开发工具中的,具有很高的执行效率和同Oracle数据库的完美结合。在PL/SQL模块中可以...
通过学习书中的代码和图例,您不仅能访问和修改数据库信息,编写功能强大的PL/SQL 语句,执行有效的查询和部署稳固的安全性,还能轻松实现C、C++ 和Java 过程,建立可启用Web 的数据库,缩短开发时间和优化性能。...
包含一些基本的sql语句代码及存储过程,触发器过程调用
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL ...
PL/SQL的学习教程资料,由Java私塾制作,配套视频由私塾在线提供. 系统学习PL/SQL的结构化编程(包括游标、异常、包、触发器、动态sql等);掌握使用jdbc调用存储过程。
通过学习书中的代码和图例,您不仅能访问和修改数据库信息,编写功能强大的PL/SQL 语句,执行有效的查询和部署稳固的安全性,还能轻松实现C、C++ 和Java 过程,建立可启用Web 的数据库,缩短开发时间和优化性能。...
随着时间的推移,我们已经看到越来越多的业务逻辑和应用程序逻辑进入 Oracle Server,因此 PL/SQL 编程已经成为整个开发过程的重要组成部分。 PL/SQL Developer 专注于易用性,代码质量和生产力,以及 Oracle 应用...
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL ...
第一章 PL/SQL 程序设计简介 4 §1.2 SQL与PL/SQL 4 §1.2.1 什么是PL/SQL? 4 §1.2.1 PL/SQL的好处 4 §1.2.2 PL/SQL 可用的SQL语句 5 §1.3 运行PL/SQL程序 5 第二章 PL/SQL块结构和组成元素 6 §2.1 PL/SQL块 6 ...
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL ...
1.7 过度使用触发器......................................15 1.8 过度提交.................................................15 1.9 过度解析.................................................16 1.10 小结.......