Java 中调用oracle 的过程

Java中通过jdbc调用oracle存储过程 Java调用Oracle存储过程步骤主要分为三类: (1)编写Oracle存储过程 (2)编写数据库获取连接工具类 (3)编写简单应用调用存储过程 1、Oracle中的存储过程程序 1.在Oracle SQL Developer中创建存储过程 在scott数据库用户中新建一个存储过程(查询某个员工姓名 月薪和职位): create or replace procedure query... 阅读详情
Google

example 1:
/*
 * This sample shows how to call a PL/SQL stored procedure using the SQL92
 * syntax.  See also the other sample PLSQL.java.
 */

import java.sql.*;
import java.io.*;

class PLSQLExample
{
  public static void main (String args [])
       throws SQLException, IOException
  {
    // Load the driver
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

    String url = "jdbc:oracle:oci8:@";
    try {
      String url1 = System.getProperty("JDBC_URL");
      if (url1 != null)
        url = url1;
    } catch (Exception e) {
      // If there is any security exception, ignore it
      // and use the default
    }

    // Connect to the database
    Connection conn =
      DriverManager.getConnection (url, "scott", "tiger");

    // Create a statement
    Statement stmt = conn.createStatement ();

    // Create the stored function
    stmt.execute ("create or replace function RAISESAL (name CHAR, raise NUMBER) return NUMBER is begin return raise + 100000; end;");

    // Close the statement
    stmt.close();

    // Prepare to call the stored procedure RAISESAL.
    // This sample uses the SQL92 syntax
    CallableStatement cstmt = conn.prepareCall ("{? = call RAISESAL (?, ?)}");

    // Declare that the first ? is a return value of type Int
    cstmt.registerOutParameter (1, Types.INTEGER);

    // We want to raise LESLIE's salary by 20,000
    cstmt.setString (2, "LESLIE");  // The name argument is the second ?
    cstmt.setInt (3, 20000);        // The raise argument is the third ?
 
    // Do the raise
    cstmt.execute ();

    // Get the new salary back
    int new_salary = cstmt.getInt (1);

    System.out.println ("The new salary is: " + new_salary);

    // Close the statement
    cstmt.close();

    // Close the connection
    conn.close();
  }
}

example 2:

/*
 * Created on 2004-10-12
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author Jackey
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
/*
 * This sample can be used to check the JDBC installation.
 * Just run it and provide the connect information.  It will select
 * "Hello World" from the database.
 */

// You need to import the java.sql package to use JDBC
import java.sql.*;

// We import java.io to be able to read from the command line

import java.io.*;

import oracle.jdbc.OracleTypes;

class JdbcCheckup
{
   public static void main(String args[])
          throws SQLException, IOException
   {
      // Load the Oracle JDBC driver
      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

      // Prompt the user for connect information
      System.out.println("Please enter information to test connection to  the database");
      String user;
      String password;
      String database;

      user = readEntry("user: ");
      int slash_index = user.indexOf('/');
      if (slash_index != -1)
      {
         password = user.substring(slash_index + 1);
         user = user.substring(0, slash_index);
      }
      else
         password = readEntry("password: ");
      database = readEntry("database(a TNSNAME entry): ");

      System.out.print("Connecting to the database...");
      System.out.flush();

      System.out.println("Connecting...");
      Connection conn = DriverManager.getConnection
                        ("jdbc:oracle:oci8:@" + database, user, password);
      System.out.println("connected.");

      // Create a statement
      Statement stmt = conn.createStatement();

      // Do the SQL "Hello World" thing
      ResultSet rset = stmt.executeQuery("select 'Hello World'  from dual");

      while (rset.next())
         System.out.println(rset.getString(1));
      // close the result set, the statement and connect
      rset.close();
      stmt.close();

      System.out.println("Your JDBC installation is correct.");
      //


      CallableStatement call = conn.prepareCall("{call Emp_dept_data.Open_cv(?,?)}");
      // Find out all the SALES person
//      call.registerOutParameter (1, OracleTypes.CURSOR);
      call.registerOutParameter (1 , OracleTypes.CURSOR);
      call.setInt(2, 1);
      call.execute ();
      ResultSet rs = (ResultSet)call.getObject (1);

      // Dump the cursor
      while (rs.next ())
        System.out.println (rs.getString (1)+"/t"+ rs.getString(2)+"/t"+ rs.getString(3));
     
      rs.close();
      call.close();
     
      conn.close();     
   }

   // Utility function to read a line from standard input
   static String readEntry(String prompt)
   {
      try
      {
         StringBuffer buffer = new StringBuffer();
         System.out.print(prompt);
         System.out.flush();
         int c = System.in.read();
         while (c != '/n' && c != -1)
         {
            buffer.append((char)c);
            c = System.in.read();
         }
         return buffer.toString().trim();
      }
      catch(IOException e)
      {
         return "";
      }
   }
}


 
Java调用Oracle存储过程 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。 立即下载

相关推荐

Unity半透明物体景深失效?教你用双材质球方案完美解决(附完整Shader代码)

本文深入剖析了Unity中半透明物体导致景深效果失效的根本原因,即半透明物体默认不写入摄像机深度图。针对此问题,文章详细介绍了稳定高效的“双材质球”解决方案,通过为物体附加一个仅写入深度信息的不可见材质,完美修复景深效果,并提供了完整的Shader代码与实现脚本。

weixin_29010003的博客 382

Java程序调用Oracle

1. java程序调用存储过程 public void procedureTest(){ String sql = "{ call pro_test111(?,?,?)}"; CallableStatement call = null; try { call = conn.prepareCall(sql); //IN需要set OUT需要reister call.setString(1, "jdbc"); call.setInt(2, 2); call.set

梦夜君王 578

雷达信号处理DDC数字下变频

由于接收到的雷达信号频率较高,不能对其进行直接采样并数据处理,所以需要对雷达信号进行预处理,在降低其采样率的同时,将其由中频降低到低频,然后对输出的基带信号进行后续的解析,以便于获取雷达信号的特征参数。 本文采用数字正交下变频,将单通道信号转化为正交双通道信号,数字下变频(DDC)的原型为模拟下变频,通过对窄带雷达信号或单频信号进行数字混频,然后对信号进行正交采样,提取 I、Q 两路正交分量,最后通过滤波去除信号中的高频分量,将信号由中高频搬移至低频。 模拟下变频的系统框图如下: 其数学推导.

qq_44033461的博客 5229

oracle数据库之使用Java程序调用存储过程(二十四)

在Oracle数据库中,你可以使用Java程序来调用存储过程。这通常涉及几个步骤:首先,确保你的Java环境能够连接到Oracle数据库;其次,使用JDBC(Java Database Connectivity)来调用存储过程。

pursue_mony的博客 587

边云协同智能进化:大模型与小模型的动态训练与高效部署策略

本文深入探讨了边云协同架构下大模型与小模型的动态训练与高效部署策略。通过物流分拣、医疗影像等实战案例,展示了如何利用边云协作框架实现AI模型的智能进化,显著提升处理效率与准确性。重点解析了动态任务分配、增量学习和知识蒸馏等关键技术,为分布式训练场景提供优化方案。

work3的博客 191

python毕设 基于Web的中药材信息查询系统程序+论文

***(程序+源码+数据库+调试部署+开发环境)论文文档1,文末可获取,系统界面在最后面。****

m0_74825541的博客 1257

JAVA调用oracle三种存储过程实例

JAVA调用存储过程:几经挫折,但总算搞通了,为了避免后来者少走弯路,特记述与此,同时亦对自己进行鼓励。创建测试用表: CREATE TABLE T_TEST(I_ID NVARCHAR(20),I_NAME NVARCHAR(20))一:无返回值的存储过程1、在SQL*PLUS中建立存储过程:CREATE OR REPLACE PROCEDURE TESTA(PA

ice_spar的专栏 5732

避坑指南:为什么你的conda环境装不上Mamba?从CUDA到ABI的深度排查

本文深入解析conda环境中安装Mamba架构时常见的CUDA版本冲突、ABI不匹配等问题,提供从基础检查到深度排查的系统化解决方案。针对`causal-conv1d`和`mamba-ssm`安装失败场景,详细讲解PyTorch版本绑定、编译器工具链兼容性等关键技术要点,并给出预编译wheel选择、动态链接库配置等实用修复方案。

weixin_33738555的博客 346

java 调用 oracle存储过程_用java调用oracle存储过程总结

//1、call+包名+存储过程名(传入、传出值用?)String str="{call SMSBUSINESS.deleteZhZMember(?,?,?)}";//2、建立连接Connection conn=null;conn=DriverManager.getConnection();//3、使用java.sql.*类CallableStatement cs=conn.prepareCall...

weixin_29310853的博客 359

基于 YOLOv26 的电路焊点虚焊检测系统:AI 质检实战

本文介绍了一种基于YOLOv26的电路焊点虚焊检测系统,利用深度学习技术实现自动化质检。系统能识别虚焊、桥接、少锡等8种常见焊点缺陷,具有高精度、实时性和强鲁棒性等特点。文章详细阐述了系统架构,包括数据采集、预处理、YOLOv26检测模型和后处理模块,并提供了代码实现的关键部分,如数据预处理增强和模型训练配置。该系统可显著提高电子制造业的质检效率和准确性。

一键难忘的博客 692

MuJoCo 入门教程(八)Model仓库

一个物理仿真器的好坏取决于它所仿真的模型,而在像 MuJoCo 这样功能强大、建模选项众多的仿真器中,很容易创建出行为与预期不符的 "坏 "模型。MuJoCo Menagerie 的目标是为社区提供一个设计精良、开箱即用的模型集。更多信息,请访问 Menagerie 资源库。

机器人控制与仿真应用 1940

java调用oracle_java怎么调用oracle的过程

展开全部java下实现调用oracle的存储过程和函数在oracle下创建一个test的账户,然后32313133353236313431303231363533e78988e69d8331333339666139按一下步骤执行:1.创建表:STOCK_PRICES--创建表格CREATE TABLE STOCK_PRICES(RIC VARCHAR(6) PRIMARY KEY,PRICE NU...

weixin_28909303的博客 384

RuntimeError: The current installed version of g++ (4.8.5) is less than the mininum version CUDA解决方案

本文主要介绍了RuntimeError: The current installed version of g++ (4.8.5) is less than the mininum version CUDA解决方案,希望能对学习python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

Java 调用Oracle存储过程

Java 调用Oracle存储过程 创建存储过程 ## 没有返回值的存储过程--创建存储过程 create or replace procedure query_user (v_name varchar2) as v_count binary_integer :=0; begin   select count(*) into v_count fro...

Troub_cy的博客 675

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java oracle存储过程调用_Java调用Oracle存储过程详解

Java调用Oracle存储过程详解步骤:1、编写Oracle存储过程2、编写数据库获取连接工具类3、编写简单应用调用存储过程实现:1、Oracle存储过程:/*测试表*/create table test(id varchar2(32),name varchar2(32));/*存储过程 插入数据*/CREATE OR REPLACE PROCEDURE insert_procedure(PAR...

weixin_35837047的博客 350

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java调用oracle存储过程_java调用oracle存储过程详解

之前给大家介绍了java代码调用存储过程,下面要给大家介绍的就是java当中调用oracle存储过程,一起来看看吧。首先来看一下项目结构:在数据库创建存储过程的脚本,假如,使用的是本地的oracle数据库,那么,就需要开启服务-OracleOraDb11g_home1TNSListener和OracleServiceORCL。实现:输入用户的工号,输出用户名字、薪水以及工作:createorr...

weixin_33785828的博客 2720

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java怎么调用oracle的过程_java 调用oracle中的过程函数

1,无返回值+有返回值的过程create table book(bookId number,bookName varchar2(50),publishHouse varchar2(50));--过程--in:表示这是一个输入参数,默认是in可以不写\--out:create or replace procedure sp_pro11(spBookId in number,spbookName in...

weixin_39996908的博客 119

java 调用oracle包_在Java中调用Oracle包中的过程

一、先在oracle中编写测试过程1、首选建一个测试表-- Create tablecreate table BOOK(BOOKID VARCHAR2(50) not null,BOOKNAME VARCHAR2(50) not null,PUBLISHER VARCHAR2(50) not null,PRICE VARCHAR2(50) null)2、编写ORACLE测试过程CR...

weixin_42491664的博客 356

用java调用oracle存储过程总结

用java调用oracle存储过程总结 //1、call+包名+存储过程名(传入、传出值用?)      String str="{call SMSBUSINESS.deleteZhZMember(?,?,?)}"; //2、建立连接  Connection conn=null;  conn=DriverManager.getConnection(); //3、使用java.sql.*类  Ca...

一只苟延残喘的卑微蝼蚁 4223

Java 调用 Oracle 的存储过程

文章目录一、环境准备二、Oracle连接测试三、Java 调用存储过程四、Java 调用存储函数 一、环境准备 需要的 jar 包:ojdbc14.jar,ojdbc6.jar 对应的 pom 配置: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</mave

南淮北安的博客 2450

java调用存储过程 oracle_用java调用oracle存储过程总结

这段时间开始学习写存储过程,主要原因还是因为工作需要吧,本来以为很简单的,但几经挫折,豪气消磨殆尽,但总算搞通了,为了避免后来者少走弯路,特记述与此,同时亦对自己进行鼓励。一:无返回值的存储过程存储过程为:CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2)ASBEGININSERT INTO HYQ.B_ID...

weixin_33036495的博客 388

oracle存储过程 调用java_Oracle存储过程调用Java方法

Oracle存储过程调用Java方法时间:2017-07-11 来源:存储过程中调用Java程序段软件环境:1、操作系统:Windows 2000 Server2、数 据 库:Oracle 8i R2 (8.1.7) for NT 企业版3、安装路径:C:\ORACLE实现方法:1、创建一个文件为Test.javapublic class Test {public static void main...

weixin_42434656的博客 233
上一篇: 各类开源软件目录2007
下一篇: 利用 Java Web Start发布你用java程序
funson
博客等级 码龄22年 12粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值