我的源代码如下:这里用的是oracle 10,只是java操作它,与tomcat无关,就是编译时有问题:package oracle.sql does not exist.oracle.sql.CLOB clob=(oracle.sql.CLOB)obj;
驱动是装了的,因为statement,preparedstatement操作number,varchar2类型数据都正常的.
import java.sql.*;
import java.io.*;public class test11_2
{
public static void main(String[] args)throws Exception
{
Connection conn=null;
//DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:oci8:@";
conn=DriverManager.getConnection(url,"system","123456");
conn.setAutoCommit(false);
File file1=new File("test11_2.java");
Statement st=conn.createStatement();
String strSql="insert into clob_table values(file_seq,'first',EMPTY_CLOB())";
String strID="select file_seq.curval from dual";
st.executeUpdate(strSql);
ResultSet rsid=st.executeQuery(strID);
rsid.next();
int id=rsid.getInt("CURRVAL");
rsid.close();
String strSql1="select data from clob_table where id=id for update";
ResultSet rs=st.executeQuery(strSql1);
while(rs.next())
{
Object obj=rs.getClob("data");
oralce.sql.CLOB clob=(oracle.sql.CLOB)obj;
BufferedWriter out=new BufferedWriter(clob.getCharacterOutputStream());
BufferedReader in=new BufferedReader(new FileReader(file1));
int c;
while((c=in.read())!=-1)
{
out.write(c);
}
in.close();
out.close();
}
conn.commit();
rs.close();
st.close();
}
}
驱动是装了的,因为statement,preparedstatement操作number,varchar2类型数据都正常的.
import java.sql.*;
import java.io.*;public class test11_2
{
public static void main(String[] args)throws Exception
{
Connection conn=null;
//DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:oci8:@";
conn=DriverManager.getConnection(url,"system","123456");
conn.setAutoCommit(false);
File file1=new File("test11_2.java");
Statement st=conn.createStatement();
String strSql="insert into clob_table values(file_seq,'first',EMPTY_CLOB())";
String strID="select file_seq.curval from dual";
st.executeUpdate(strSql);
ResultSet rsid=st.executeQuery(strID);
rsid.next();
int id=rsid.getInt("CURRVAL");
rsid.close();
String strSql1="select data from clob_table where id=id for update";
ResultSet rs=st.executeQuery(strSql1);
while(rs.next())
{
Object obj=rs.getClob("data");
oralce.sql.CLOB clob=(oracle.sql.CLOB)obj;
BufferedWriter out=new BufferedWriter(clob.getCharacterOutputStream());
BufferedReader in=new BufferedReader(new FileReader(file1));
int c;
while((c=in.read())!=-1)
{
out.write(c);
}
in.close();
out.close();
}
conn.commit();
rs.close();
st.close();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货