关于java和oracle的问题

如何用java给oracle存入图片,给出例子,确实有帮助的,追加分数后采纳做过的帮帮我....别从网上粘.....灰机哥,你给的例子报告:java.io.FileNot... 如何用java给oracle存入图片,给出例子,确实有帮助的,追加分数后采纳
做过的帮帮我....别从网上粘.....
灰机哥,你给的例子报告:java.io.FileNotFoundException: D:\javaTest (拒绝访问。)
展开
 我来答
sp_co
2011-01-20 · TA获得超过113个赞
知道答主
回答量:152
采纳率:0%
帮助的人:53.8万
展开全部
D:\javaTest 这个路径有问题,在流中路径是"\javaTest.java"存图片的话是用blob类型,具体例子现在在上班,没法给。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0583ac2ea
2011-01-20 · TA获得超过957个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:216万
展开全部
package test_img;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ImgTest {
private static String driverName = "oracle.jdbc.driver.OracleDriver";
private static String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
private static String userName = "scott";
private static String password = "tiger";
private static String imgPath = "src//img//11.gif";
static {
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
InputStream is = null;
ResultSet rs = null;
try {
/* 先插入一个空的blob对象 */
String sql = "insert into img_test values(1,EMPTY_BLOB())";
is = new FileInputStream(imgPath);
conn = DriverManager.getConnection(url,userName,password);
conn.setAutoCommit(false);
ps = conn.prepareStatement(sql);
ps.executeUpdate(); //执行过后不提交

/* 根据ID查询相关记录,主要是对空的blob对象填充 */
rs = ps.executeQuery("select img from img_test a where a.id = 1 for update");
while (rs.next()){
/*记住这里用oracle的Blob*/
oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("img");
BufferedOutputStream out = new BufferedOutputStream(blob.getBinaryOutputStream());
BufferedInputStream in = new BufferedInputStream(new FileInputStream(imgPath));
int c;
while ((c=in.read())!=-1) {
out.write(c);
}
in.close();
out.close();
}
conn.commit();

} catch (Exception e) {
e.printStackTrace();
}finally{
try {
rs.close();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

}

}

SQL> create table img_test(id number(2),img blob);

Table created

SQL> select * from img_test; --执行程序之前的
SQL> select * from img_test; --执行程序之后的

ID IMG
--- ---
1 <BL

SQL>

好了,我帮你写好了,思路就是这样,而且验证了。。。
LZ,如果你验证好了,请记得加分。。。。

PS:
D:\\img\\22.gif 这样写。。。双斜杠
结果:
SQL> select * from img_test;

ID IMG
--- ---
1 <BL
2 <BL

再不行,把你代码贴出来吧。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
309511848
2011-01-20 · TA获得超过131个赞
知道答主
回答量:221
采纳率:0%
帮助的人:0
展开全部
你用ORACLE存图片地址,然后在JAVA/JSP中再取出此地址,这样就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuli3163
2011-01-20 · TA获得超过364个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:203万
展开全部
图片不要存到数据库,太占空间了而且读取出来也慢。
我一般都是把图片在电脑上的绝对路径存放在数据库,要的时候直接把路径拿出来就能读出硬盘上的图片了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式