当前位置:七道奇文章资讯数据防范Oracle防范
日期:2011-01-25 22:55:00  来源:本站整理

Java处理Oracle中的用户自定义范例-性能调优[Oracle防范]

赞助商链接



  本文“Java处理Oracle中的用户自定义范例-性能调优[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
    Java关于PL/SQL中package下定义的范例并不支持(找不到,抛出invalid name pattern非常信息),需求定义schema级的范例.
  以上是“Java处理Oracle中的用户自定义范例-性能调优[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  •  Oracle的API:
    http://www.rakeshv.org/docs/oracle/jdbc3.0/index.html

    代码以下:
    Schema Level Type:
    create or replace type Guy as object
    (
    name varchar2(50),
    age number
    )
    create or replace type GUYS as Table of GUY
    PL/SQL:
    create or replace package ArrayNesta is
    PROCEDURE insert_guys(
    guys_in IN guys
    );
    end ArrayNesta;
    create or replace package body ArrayNesta is
    PROCEDURE insert_guys(
    guys_in IN guys
    )
    IS
    BEGIN
    for i in guys_in.first .. guys_in.last
    LOOP
    insert into ASSOCIATEARRAYNESTA(name, age) values(guys_in(i).name, guys_in(i).age);
    END LOOP;

    END insert_guys;

    end ArrayNesta;
    Database Table:
    create table ASSOCIATEARRAYNESTA(
    name varchar2(50),
    age number
    )
    Java:
    /**
    *
    */
    package array;
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.util.HashMap;
    import java.util.Map;
    import oracle.jdbc.pool.OracleDataSource;
    import oracle.sql.ARRAY;
    import oracle.sql.ArrayDescriptor;
    import oracle.sql.STRUCT;
    import oracle.sql.StructDescriptor;
    /**
    * @author nfeng
    *
    */
    public class ArrayTest {
    /**
    * @param args
    */
    public static void main(String[] args) throws Exception {
    OracleDataSource ods = new OracleDataSource();
    ods.setURL("jdbc:oracle:thin:username/password@host:port:database");
    Connection conn = ods.getConnection();
    System.out.println(conn);
    StructDescriptor sd = StructDescriptor.createDescriptor("GUY", conn);
    Object[] nesta = new Object[] {"nesta", 29};
    STRUCT snesta = new STRUCT(sd, conn, nesta);

    Object[] kisey = new Object[] {"kisey", 30};
    STRUCT skisey = new STRUCT(sd, conn, kisey);

    ArrayDescriptor ad = ArrayDescriptor.createDescriptor("GUYS", conn);
    ARRAY guysin = new ARRAY(ad, conn, new STRUCT[] {snesta, skisey});

    CallableStatement cs = conn.prepareCall("{ call ArrayNesta.insert_guys(?) }");
    cs.setArray(1, guysin);
    cs.execute();

    conn.close();
    }
    }

    本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .