问题是这样的,我要将一些图片文件存放到数据库的BLOB字段中,当时我发现当图片过小时会插不进数据库,BLOB字段为空,这是什么原因呢?
解决方案 »
- vs2005写occi的dll程序的问题
- 我想通过fckeditor保存从Word文档复制出来的文本,存入oracle9i数据库,字段类型用什么呢?blob?clob?
- Oracle 10g客户端 Exp备份出来的dmp文件丢失数据,和NCLOB有关,请指导
- Oracle sqlplus登录乱码问题!
- 关于orcale SGA参数设置的问题?
- oracle中建表时定义主键和字段非空的sql语句是什么?
- 请问一下oracle的所有数据文件(原始文件)都有,但是就是起不来,如何把这些数据文件到另外一个oracle上回复?
- 关于SQL查询速度的优化问题
- 下面的存储过程那里错了?
- 【求助】TSQL语句怎么能查某几天的数据?日期来源是另外一个表的字段
- About install Oracle for Linux(1)
- oracle中实现excel的交叉数据表的sql语句是什么?,在线等,绝对送分,100分
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.100.13:1521:develop", "gzedu", "gzedu8756");
conn.setAutoCommit(false);
/* 插入一个空的CLOB对象 */
stmt = conn.createStatement();
stmt.executeUpdate("INSERT INTO movie1 (MovieID, MovieName, MoviePicture) VALUES ('1', '1', EMPTY_BLOB())"); /* 查询此CLOB对象并锁定 */
rs = stmt.executeQuery(
"SELECT MoviePicture FROM movie1 WHERE MovieID='1' FOR UPDATE");
if (rs.next()) {
/* 取出此CLOB对象 */
BLOB blob = (BLOB) rs.getBlob("MoviePicture"); /* 向BLOB对象中写入数据 */
BufferedOutputStream out = new BufferedOutputStream(blob.
getBinaryOutputStream());
BufferedInputStream in = new BufferedInputStream(new FileInputStream("screen.bmp"));
int c;
while ( (c = in.read()) != -1) {
out.write(c);
}
in.close();
out.close(); } /* 正式提交 */
conn.commit();
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<html>
<body>
<%
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@10.0.5.36:1521:ycrz2";
Connection con=DriverManager.getConnection(url,"rsgl","rsgl");
//插入数据库
//String sql="insert into test_img values (?,?,?)";
//获取传值ID
String id=request.getParameter("id");
//获取image的路径
String kk=request.getParameter("image");
//转换成file格式
File filename=new File(kk);
//其中mysql为你数据库的名字,user为你连接数据库的用户,password为你连接数据库用户的密码,可自己改
FileInputStream str=new FileInputStream(filename);
String sql="insert into img(id,name,pic) values('"+id+"',?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,id);
pstmt.setBinaryStream(2,str,str.available());
pstmt.execute();
out.println("Success,You Have Insert an Image Successfully");
%>