import java.sql.*;
import oracle.jdbc.*;
import java.util.*;
import oracle.sql.*;
import java.io.*;public class OracleCLOB {
Connection conn;
PreparedStatement pst;
String url = "jdbc:oracle:thin:@192.168.0.2:1521:ntrsit01";
String user = " ";
String passwd = " ";
String sql = "insert into testclob values(?, EMPTY_CLOB())"; public OracleCLOB() {
init();
//insertRecord("asd", "d:/xmldata.xml");
getContent("asd");
disConnect();
} public void init() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
DriverManager.setLogWriter(new PrintWriter(System.out));
conn = DriverManager.getConnection(url, user, passwd);
pst = conn.prepareStatement(sql);
}
catch (Exception e) {
e.printStackTrace();
}
} public void insertRecord(String topic, String filename) {
try {
pst.setString(1, topic);
pst.execute();
conn.setAutoCommit(false);
ResultSet rs = conn.createStatement().executeQuery(
"Select content from testclob where topic ='" + topic +
"' for update");
while (rs.next()) {
CLOB blob = ( (OracleResultSet) rs).getCLOB("content");
Writer writer = blob.getCharacterOutputStream();
FileReader reader = new FileReader(filename);
char[] buffer = new char[1024];
int bufsize = 0;
while ((bufsize = reader.read(buffer)) != -1) {
writer.write(buffer, 0, bufsize);
}
reader.close();
writer.close();
}
conn.commit();
conn.setAutoCommit(true);
}
catch (Exception e) {
e.printStackTrace();
}
} public void getContent(String topic) {
try {
ResultSet rs = conn.createStatement().executeQuery(
"select content from testclob where topic ='" + topic + "'");
while (rs.next()) {
Clob clob = rs.getClob(1);
Reader reader = clob.getCharacterStream();
FileWriter out = new FileWriter("d:/xmlclob.xml");
char[] buffer = new char[1024];
int bufsize = 0;
while ( (bufsize = reader.read(buffer)) != -1) {
out.write(buffer, 0, bufsize);
}
reader.close();
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}
} public void disConnect() {
if (pst != null) {
try {
pst.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
} public static void main(String[] args) {
OracleCLOB oracleCLOB = new OracleCLOB();
}}我做的一个例子
给分吧
import oracle.jdbc.*;
import java.util.*;
import oracle.sql.*;
import java.io.*;public class OracleCLOB {
Connection conn;
PreparedStatement pst;
String url = "jdbc:oracle:thin:@192.168.0.2:1521:ntrsit01";
String user = " ";
String passwd = " ";
String sql = "insert into testclob values(?, EMPTY_CLOB())"; public OracleCLOB() {
init();
//insertRecord("asd", "d:/xmldata.xml");
getContent("asd");
disConnect();
} public void init() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
DriverManager.setLogWriter(new PrintWriter(System.out));
conn = DriverManager.getConnection(url, user, passwd);
pst = conn.prepareStatement(sql);
}
catch (Exception e) {
e.printStackTrace();
}
} public void insertRecord(String topic, String filename) {
try {
pst.setString(1, topic);
pst.execute();
conn.setAutoCommit(false);
ResultSet rs = conn.createStatement().executeQuery(
"Select content from testclob where topic ='" + topic +
"' for update");
while (rs.next()) {
CLOB blob = ( (OracleResultSet) rs).getCLOB("content");
Writer writer = blob.getCharacterOutputStream();
FileReader reader = new FileReader(filename);
char[] buffer = new char[1024];
int bufsize = 0;
while ((bufsize = reader.read(buffer)) != -1) {
writer.write(buffer, 0, bufsize);
}
reader.close();
writer.close();
}
conn.commit();
conn.setAutoCommit(true);
}
catch (Exception e) {
e.printStackTrace();
}
} public void getContent(String topic) {
try {
ResultSet rs = conn.createStatement().executeQuery(
"select content from testclob where topic ='" + topic + "'");
while (rs.next()) {
Clob clob = rs.getClob(1);
Reader reader = clob.getCharacterStream();
FileWriter out = new FileWriter("d:/xmlclob.xml");
char[] buffer = new char[1024];
int bufsize = 0;
while ( (bufsize = reader.read(buffer)) != -1) {
out.write(buffer, 0, bufsize);
}
reader.close();
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}
} public void disConnect() {
if (pst != null) {
try {
pst.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
} public static void main(String[] args) {
OracleCLOB oracleCLOB = new OracleCLOB();
}}我做的一个例子
给分吧
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货