应该不会呀,你是怎么插入的?下面这段代码我试过的,可以插入,你看看String file1 = "PEiffelTower.jpg";
String file2 = "EiffelTower.jpg"; try {
// to connect to the database
Connection conn =
getConnected(drivername,dbstring, username,password); // create a preparedStatement with
// ? represents the lobs to be inserted
PreparedStatement stmt = conn.prepareStatement(
"insert into pictures values (20,'Eiffel Tower','Paris',?,? )" ); // Set the first parameter
File file = new File( file1 );
stmt.setBinaryStream(1,new FileInputStream(file),(int)file.length()); // set the second parameter
file = new File(file2);
stmt.setBinaryStream(2,new FileInputStream(file),(int)file.length()); // execute the insert statement
stmt.executeUpdate();
System.out.println( "the execution succeeds"); conn.close();
} catch( Exception ex ) {
System.out.println( ex.getMessage());
}
String file2 = "EiffelTower.jpg"; try {
// to connect to the database
Connection conn =
getConnected(drivername,dbstring, username,password); // create a preparedStatement with
// ? represents the lobs to be inserted
PreparedStatement stmt = conn.prepareStatement(
"insert into pictures values (20,'Eiffel Tower','Paris',?,? )" ); // Set the first parameter
File file = new File( file1 );
stmt.setBinaryStream(1,new FileInputStream(file),(int)file.length()); // set the second parameter
file = new File(file2);
stmt.setBinaryStream(2,new FileInputStream(file),(int)file.length()); // execute the insert statement
stmt.executeUpdate();
System.out.println( "the execution succeeds"); conn.close();
} catch( Exception ex ) {
System.out.println( ex.getMessage());
}
<%@ page import="java.util.*"%>
<%@ page import="oracle.sql.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="oracle.jdbc.driver.* "%>
<%
OracleConnection conn = (OracleConnection)docConn.getDirectConn();
OraclePreparedStatement stmt = null;
ResultSet rs = null;
SmartUpload mySmartUpload = new SmartUpload();
mySmartUpload.initialize(pageContext);
mySmartUpload.upload();
String loginName = ParamUtils.getSession(session,"loginName"); //当前用户ID
String ModelName = mySmartUpload.getRequest().getParameter("ModelName");
String ModelType = mySmartUpload.getRequest().getParameter("ModelType");
String ModelMemo = mySmartUpload.getRequest().getParameter("ModelMemo");
boolean isOK = false;
String strFileCode = "";
java.util.Date datenew = new java.util.Date();
long gt = datenew.getTime();
Long ggt = new Long(gt);
strFileCode = ggt.toString();
strFileCode = "wordtemplate" + strFileCode; try {
if(!mySmartUpload.getFiles().getFile(0).isMissing()) {
byte PublicImageByte[] = new byte[mySmartUpload.getFiles().getFile(0).getSize()];
PublicImageByte = mySmartUpload.getFiles().getFile(0).getBytesOfImage();
String mysql = "insert into filelist (FileName,FileSize,FileType,UserName,ModelType,ModelMemo,ModelName,Descript,ISMODEL,FileDate,FileBody) values (?,?,?,?,?,?,?,1,1,TO_CHAR(SYSDATE,'YYYY-MM-DD,HH24:MI:SS'),EMPTY_BLOB() )";
stmt = (OraclePreparedStatement)conn.prepareStatement(mysql);
stmt.setString(1, strFileCode);
stmt.setInt(2, mySmartUpload.getFiles().getFile(0).getSize());
stmt.setString(3, mySmartUpload.getFiles().getFile(0).getFileExt());
stmt.setString(4, loginName);
stmt.setString(5, ModelType);
stmt.setString(6, ModelMemo);
stmt.setString(7, ModelName);
stmt.executeUpdate();
stmt.clearParameters();
mysql = "select FileBody from filelist where FileName=? for update";
conn.setAutoCommit(false);
stmt = (OraclePreparedStatement)conn.prepareStatement(mysql);
stmt.setString(1, strFileCode);
rs = stmt.executeQuery();
oracle.sql.BLOB fileblob = null;
if(rs.next()) {
conn.setAutoCommit(false);
fileblob = (oracle.sql.BLOB) rs.getBlob(1);
fileblob.putBytes(1, PublicImageByte);
conn.setAutoCommit(true);
}
conn.commit();
rs.close();
conn.close();
isOK = true;
}
} catch (Exception er) {
System.out.println("========================== error in modeladdsave: " + er.getMessage()) ;
conn.close();
} finally {
conn.close();
}
if(isOK) {
%>
<script language="javascript">
alert("上传成功!");
window.opener.location="model.jsp";
window.close();
</script>
<%
} else {
%>
<script language="javascript">
alert("上传失败!");
history.back();
</script>
<%
}
%>
</body>
public int getBLOBfromORS(OracleResultSet ors,String outFileName)
{
int CountPerRead = 8192;
byte[] temp = new byte[CountPerRead];
int ret = 0;
try
{
if (ors.next())
{
oracle.sql.BLOB bb = ors.getBLOB(1);
ret = (int)bb.length();
File myFile = new File(outFileName);
myFile.createNewFile();
DataOutputStream myStream = new DataOutputStream(new FileOutputStream(myFile));
int blockCount = ret/CountPerRead;
int blockremain = ret%CountPerRead;
for (int i=0;i<blockCount;i++)
{
temp = bb.getBytes(1+CountPerRead*i,CountPerRead);
myStream.write(temp);
}
temp = bb.getBytes(1+CountPerRead*blockCount,blockremain);
myStream.write(temp,0,blockremain);
myStream.flush();
myStream.close();
}
return ret;
}
catch(Exception e)
{
System.out.println("getBLOBfromORS error!");
return 0;
}
}
>