`
angkorpeach
  • 浏览: 121929 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

oracle执行java代码

阅读更多

项目里,经常用到oracle里编写 java 类,调用存储过程,于是这篇文档闪亮登场!
具体步骤:

1、登陆某一用户登录,并创建java程序资源,在pl/sql中java source中显示你所编写的java代码;
create or replace and compile java source named bb_wx_replosssbk as
import java.sql.*;
import oracle.jdbc.driver.*;

public class bb_wx_replosssbk
{
    /**
    *   社保卡挂失
    */
    public static String callProc(String sSfzh,String sPwd,String sType)
    {
        OracleDriver driver = new OracleDriver();
        Connection connection=null;
        CallableStatement cstmt=null;
        String sRtn = "beg";
        try
        {
            sRtn = " try beg";
            connection = DriverManager.getConnection("jdbc:oracle:thin:user/pwd@127.0.0.1:1521:orcl");
            sRtn = "con";
            cstmt = connection.prepareCall("{call run_replosssbk(?,?,?,?)}");
            sRtn = "invoke";
            cstmt.setString(1, sSfzh);
            cstmt.setString(2, sPwd);
            cstmt.setString(3, sType);
            cstmt.registerOutParameter(4, java.sql.Types.VARCHAR);
            sRtn = "set value";
            cstmt.executeUpdate();
            sRtn = "execute";
            sRtn = cstmt.getString(4);
        }catch (Exception e) {
            sRtn = e.toString();
            e.printStackTrace();
        }finally {
            try {
                if (cstmt != null) {
                  cstmt.close();
                }
                if (connection != null) {
                    connection.close();
                }
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }
        return sRtn;
    }
}

2、创建调用Java资源的函数
create or replace function run_bb_wx_replosssbk(
sSfz in varchar2,
sPwd in varchar2,
sType in varchar2
)
return varchar2
as
language java name 'bb_wx_replosssbk.callProc(java.lang.String,java.lang.String,java.lang.String) return java.lang.String';

3、建立一过程调用存储过程
create or replace procedure RUN(
sSfz in varchar2,
sPwd in varchar2,
sType in varchar2
sRtn out varchar2
)
as
begin
--sRtn := run_bb_wx_replosssbk(sSfz in varchar2,sPwd in varchar2,sType in varchar2);
Select run_bb_wx_replosssbk(sSfz in varchar2,sPwd in varchar2,sType in varchar2)
Into sRtn from dual;
end;
/

呵呵,到此为止,基本步骤已经完成,如果你觉得现在可以顺利调用,孩子,醒醒吧,还有权限问题!!
网上抄了下面一段
begin
Dbms_Java.Grant_Permission('new','java.io.FilePermission', '<<ALL FILE>>','read ,write, execute, delete');
Dbms_java.grant_permission('new', 'SYS:java.io.FilePermission', '<<ALL FILES>>','read ,write, execute, delete');
Dbms_Java.Grant_Permission('new', 'java.io.FilePermission', 'd:a.bat','read ,write, execute, delete');
dbms_java.grant_permission('new', 'java.lang.RuntimePermission','*','writeFileDescriptor' );
end;
很神奇,上面一段不行!!不知道为啥……
还是用最简单的方法,用有管理员权限的用户登录pl/sql ,选择users,找到new用户,edit一下,选择Role privileges,加上javasyspriv权限和javauserpriv权限。
OK,到此为止,所有步骤已经完成,可以正常使用了,O(∩_∩)O哈哈~

分享到:
评论
1 楼 mao_123 2016-09-23  
oracle函数直接调java类方法,长见识了

相关推荐

    Oracle调用Java代码过程

    Oracle调用Java代码过程是一种将Java程序集成到Oracle数据库中的技术,主要应用于处理特定的业务逻辑,例如在本例中,是为了访问异构数据库(如DB2)的数据。以下是详细的步骤和注意事项: **步骤一:加载JDBC驱动*...

    oracle 根据数据库自动生成JAVA代码

    "Oracle根据数据库自动生成JAVA代码"这一技术就是将数据库中的表结构映射到Java编程语言中的实体类、DAO(Data Access Object)、Service、Controller以及前端展示层的HTML模板,从而减少手动编写这些基础代码的工作...

    MYSQL、ORACLE数据库、JAVA代码文档生成器

    "MYSQL、ORACLE数据库、JAVA代码文档生成器"正是这样一款工具,它旨在帮助开发者和DBA自动化文档生成过程,提高工作效率,减少手动编写文档带来的繁琐工作。 首先,我们来详细了解这款工具的主要功能。它支持MySQL...

    在oracle中使用java sources

    在Oracle数据库环境中,Java Sources是一种强大的特性,它允许我们在数据库内部执行Java代码,利用Java的丰富库和API来处理复杂的业务逻辑或者实现特定的功能。Oracle数据库支持存储过程、函数、包等PL/SQL对象,而...

    Oracle+java+jsp BS/CS 管理系统客户端源代码

    它允许开发者在HTML页面中嵌入Java代码,使得服务器端可以生成HTML响应。在BS模式下,JSP负责接收用户的请求,调用JavaBean(业务逻辑组件)进行处理,并将结果返回到客户端以更新页面。 4. **BS/CS架构**: - **B...

    java jdbc oracle代码

    总的来说,Java JDBC Oracle代码涵盖了数据库连接、SQL执行、结果处理和事务管理等关键环节,是Java开发人员必备的技能之一。理解并熟练运用这些概念,可以让你更有效地在Java应用中与Oracle数据库进行交互。

    oracle调用java包

    在Oracle中运行Java代码,首先需要将Java类部署到数据库中。可以使用以下步骤: 1. 创建Java源代码: 编写Java类并将其打包成.jar文件,例如`myJavaPackage.jar`。 2. 将.jar文件加载到数据库: 使用`DBMS_JAVA....

    Java代码备份(windows和Linux)服务器oracle数据库

    在Java环境下,我们通常会利用JDBC(Java Database Connectivity)来与Oracle数据库进行交互,结合shell命令或操作系统API来执行备份操作。 1. **JDBC连接Oracle数据库**:使用Java的JDBC API,我们需要引入Oracle...

    Java代码生成Oracle版

    【Java代码生成Oracle版】是一种基于Java编程语言,利用Spring Boot框架实现的代码自动化生成工具。这个工具的主要目的是为了提高开发效率,减少手动编写重复代码的工作量,特别是针对数据库操作的控制层、业务层、...

    java 连接oracle代码

    Java连接Oracle数据库主要依赖于Java Database Connectivity (JDBC) API,这是一个Java标准,允许Java程序与各种数据库进行交互。在本示例中,我们将探讨如何使用Java和JDBC驱动程序来建立与Oracle数据库的连接。...

    oracle调用java 使用socket监听端口测试

    4. **Socket通信**:一旦Java代码在Oracle中运行,`listenOnPort`方法就会启动,等待客户端的连接。当客户端(可能是另一个Java程序或任何能发起TCP连接的应用)连接到指定端口时,服务器端的Socket会接收到请求,...

    java代码oracle数据库批量插入

    ### Java代码实现Oracle数据库批量插入的关键知识点 #### 1. JDBC连接配置 - **JDBC URL**: `jdbc:oracle:thin:@IP:1521:orcl`,这里的URL指定了连接到Oracle数据库的方式。其中`@IP:1521:orcl`中的IP是指数据库...

    Oracle和JAVA环境配置

    JAVA JDK 是 JAVA 开发工具包,用于编译和运行 JAVA 代码。用户可以从百度网盘下载 JAVA JDK。 第三步:配置 JAVA 环境变量 用户需要增加环境变量 JAVA_HOME,用于指定 JDK 的安装路径。用户还需要修改 Path 环境...

    java 连接oracle数据库代码

    这个就是连接oracle数据库的java类,你只要再下一个driver就可以运行!

    windwos_x64_oracle_java1.9.rar

    本压缩包"windwos_x64_oracle_java1.9.rar"提供了适用于Windows 64位系统的Oracle Java 1.9(也称为Java SE 9)的安装程序。 首先,Java 9的重大改变之一是模块化系统(Project Jigsaw)。这个特性将Java平台分解...

    Java操作Oracle数据库(建表,插数据,删除)

    Java 操作 Oracle 数据库(建表,插数据,删除) Java 是一种广泛使用的编程语言,而 Oracle 数据库是一种功能强大且广泛使用的关系型数据库管理系统。在本文中,我们将探讨如何使用 Java 操作 Oracle 数据库,包括...

    Oracle数据库课程设计医院系统数据库源代码.zip

    包含Java代码和SQL语句。源码中默认使用的数据库为运行的Oracle数据库 如需修改,在java源码/database.propertie中修改即可!Oracle数据库课程设计医院系统数据库源代码。包含Java代码和SQL语句。源码中默认使用的...

    Oracle 10g数据库Java开发-源代码

    2. **PL/SQL与Java的交互**: Oracle 10g支持在数据库内部执行Java代码,这通过PL/SQL中的Java存储过程实现。开发者可以编写Java类并将其编译存储在数据库中,然后在PL/SQL中调用这些Java方法。这种方式提高了应用...

    java 连接oracle12c 的jar包

    4. **运行和测试**:确保正确配置后,运行Java程序,它应该能够成功连接到Oracle 12c数据库,并执行相应的SQL操作。 总结,ojdbc7.jar是Java连接Oracle 12c数据库的关键组件,解决了“ORA-28040”错误。在开发过程...

    JAVA连接Oracle成功实例工程代码

    在引入驱动后,我们可以在Java代码中通过以下方式加载驱动: ```java Class.forName("oracle.jdbc.driver.OracleDriver"); ``` 接着,我们需要建立数据库连接。这需要提供数据库的URL、用户名和密码。一个典型的...

Global site tag (gtag.js) - Google Analytics