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')
相关推荐
14. **PL/SQL与Java集成**:通过PL/SQL调用Java存储过程,实现两种技术的融合。 通过"Oracle Database 12c PL/SQL开发指南"中的实例源代码,读者可以亲手实践上述各种概念和技术,从而更深入地理解和掌握PL/SQL的...
标题中提到的“PL/SQL开发文档1”,说明本文档是关于PL/SQL开发的入门级指导材料,面向希望学习使用PL/SQL进行数据库程序单元开发的用户。文档很可能是Oracle公司内部或其授权的培训机构用于教学目的的官方材料。 ...
11. **PL/SQL与Java、C等其他语言的互操作性**:Oracle提供了与多种编程语言接口的机制,手册会讲解如何在PL/SQL中调用外部程序或被其他程序调用。 12. **调试和错误诊断**:最后,手册会介绍如何使用Oracle提供的...
### Oracle 9i PL/SQL程序设计笔记精要 ...掌握PL/SQL的不同块类型及其使用方法对于开发高效、可靠的数据库应用程序至关重要。此外,熟悉存储过程和触发器的创建与使用,将有助于提升应用程序的性能和数据安全性。
Oracle 10g PL/SQL 是Oracle数据库系统中用于创建和管理存储过程、函数、触发器等数据库对象的编程语言。本教程旨在为初学者提供一个全面的学习平台,同时也为经验丰富的开发者提供参考资料。PL/SQL是Oracle特有的...
PL/SQL Developer是一款由Allround Automations公司开发的专业Oracle数据库开发工具,专为编写、调试、测试和管理PL/SQL代码而设计。标题中的“pl/sql developer11.0”指的是该软件的第11个主要版本。在本文中,我们...
2. **调试功能**:PL/SQL Developer提供了强大的调试工具,包括设置断点、单步执行、查看变量值、调用堆栈跟踪等,帮助开发者定位和修复程序中的问题。 3. **数据库对象管理**:你可以通过工具直接创建、修改和删除...
ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...
它是SQL的扩展,增加了程序化组件,使得开发人员能够编写存储过程、函数、触发器和包等复杂逻辑。下面将详细阐述PL/SQL的基本程序结构及其在过程、函数、触发器和包中的应用。 1. PL/SQL基本程序结构 PL/SQL程序由...
PL/SQL是Oracle数据库系统中的一个核心组件,全称为“Procedural Language/Structured Query Language”,它是SQL的扩展,增加了编程元素,使得开发者能够编写存储过程、函数、触发器等数据库应用程序。这篇博客主要...
1. **PL/SQL基础**:涵盖PL/SQL的基本语法,包括变量声明、常量定义、条件语句(IF-THEN-ELSIF-ELSE)、循环结构(WHILE, FOR)、异常处理(BEGIN-EXCEPTION-END)以及子程序(PROCEDURE和FUNCTION)的创建与调用。...
PL/SQL Developer是一款高效、便捷的Oracle数据库管理工具,尤其适合DBA和开发人员使用。免安装的绿色版PL/SQL Developer使得用户无需经历复杂的安装过程,只需解压即可使用,大大简化了软件部署,方便在不同的...
作为Oracle数据库的核心组成部分之一,PL/SQL在数据库应用程序开发中扮演着至关重要的角色。 **1.1 PL/SQL可用的SQL语句** 在PL/SQL环境中可以使用的SQL语句主要包括以下几种: - **INSERT**:用于向表中插入新...
PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种结合了SQL语言与过程编程的语言,专为数据库管理和应用程序开发设计。PL/SQL全称为“Procedural Language/Structured Query Language”,它提供了丰富的控制...
* 块可以被命名和存储在 ORACLE 服务器中,同时也能被其他的 PL/SQL 程序或 SQL 命令调用,任何客户/服务器工具都能访问 PL/SQL 程序,具有很好的可重用性。 * 可以使用 ORACLE 数据工具管理存储在服务器中的 PL/SQL...
这意味着开发者可以在客户端直接调用PL/SQL代码,也可以通过客户端向服务器发送SQL命令或者触发服务器端的PL/SQL程序执行,极大地提高了开发效率和用户体验。 **1.2.3 过程化** PL/SQL是一种过程化语言,这意味着...
6. **兼容性**:PL/SQL可以与多种开发工具和编程语言(如Java、C#)协同工作,增强了其适用范围。 #### 三、PL/SQL的结构与组成部分 PL/SQL程序的基本结构由三个部分组成: 1. **声明部分(DECLARE)**:定义变量、...
在Java开发环境中,PL/SQL 7.5开发工具可以作为辅助工具,特别是在需要与Oracle数据库进行交互的项目中。Java开发者可以通过JDBC(Java Database Connectivity)接口调用PL/SQL编写的存储过程,实现高效的数据处理和...
10. **数据库连接和调用接口**:PL/SQL可以与其他编程语言(如Java、C++)交互,通过Oracle Call Interface (OCI)或JDBC调用PL/SQL过程,实现跨平台的数据访问和处理。 通过《ORACLE PL/SQL程序设计第五版》,你将...