자바 작업 은 Clob 또는 NClob 데이터 형식의 저장 프로 세 스 인 스 턴 스 를 포함 합 니 다.

3203 단어 자바Oaclesqljdbcasp

    Oracle  NClob,       ,      ,    ,         !

        test

CREATE TABLE "SINI"."TEST" 
   ( "ID" NUMBER(10,0), 
"CONTENT" CLOB
   )


--  test           insertTest
CREATE OR REPLACE PROCEDURE insertTest
( 
myid test.id%TYPE, 
mycontent test.content%TYPE

) 
AS 
BEGIN 
--        
INSERT INTO test(id,content) VALUES(myid,mycontent); 
END insertTest;

   :

package com.sini.notice.test;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;

import oracle.jdbc.OracleConnection;
import oracle.sql.CLOB;

public class Test {

private Connection conn = null;
private String url = null;
private String user = null;
private String password = null;

public Test() {
   url = "jdbc:oracle:thin:@192.168.1.108:1521:hqh";
   user = "sini";
   password = "sini";
}


public Connection getConnection() {

   try {
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    conn = DriverManager.getConnection(url, user, password);
    System.out.println("connect is ok");
    return conn;
   } catch (InstantiationException e) {
    e.printStackTrace();
    return null;
   } catch (IllegalAccessException e) {
    e.printStackTrace();
    return null;
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
    return null;
   } catch (SQLException e) {
    e.printStackTrace();
    return null;
   }
}

public void testInsert() {
   try {
    Connection con = getConnection();
    CallableStatement proc = con.prepareCall(
      "{ call insertTest(?,?) }");
    proc.setInt(1, 1);
    CLOB clob = new CLOB((OracleConnection) con);
      clob = oracle.sql.CLOB.createTemporary(con,false,1);
    // CLOB    
      clob.putString(1,"fffffffffjggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffffffffffffff");
      proc.setClob(2,clob);
      
    proc.execute();
   } catch (SQLException ex2) {
    ex2.printStackTrace();
   } catch (Exception ex2) {
    ex2.printStackTrace();
   } finally {
    try {
     if (conn != null) {
      conn.close();
     }
    } catch (SQLException ex1) {
    }
   }
}

    public static void main(String[] args) {
     Test test = new Test();
   test.testInsert();
    }

}


  :      “             ”,

    : Oracle9i JAR   Oracle10g JAR   (    ojdbc14.jar,1.29M,     )。(     http://www.100631.com/blog/article.asp?id=318)


좋은 웹페이지 즐겨찾기