往oracle里面类型为blob写入时,必须先插入一个empty_blob,实行update……
创新互联建站主要从事成都网站制作、成都网站建设、外贸营销网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务文山州,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
具体java里面写入blob的代码如下:
public class applyPhotoBLOB {
final static String sDBDriver = "oracle.jdbc.driver.OracleDriver";
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection connSDC = null;
Connection conn = null;
String sConnStr = "jdbc:oracle:thin:@127 0.0 1 1521:sledu";
String sConnStrSDC = "jdbc:oracle:thin:@10 10 8.12:1521:rac2";
String sDBUid = "test";
String sDBPwd = "test";
String sDBUidSDC = "sdcmanager";
String sDBPwdSdc = "sdcmanager_888";
try
{
这个是这样,你先用循环读,读成二进制流,然后转文件就可以了
in = rs.getBinaryStream(字段名 );
if (in != null) {
image_out = response.getOutputStream();
response.setContentType("image/jpeg");
byte b[] = new byte[0x7a120];
while (in.read(b) != -1) {
image_out.write(b);
}
try {
//这里改成写文件 image_out.flush();
} catch (Exception e2) {
} finally {
if (in != null) {
in.close();
in = null;
}
if (image_out != null) {
image_out.close();
image_out = null;
}
}
}
在开发过程中,经常会遇到oracle中存图片的情况,下面就为您想介绍一个可以轻松在oracle中存图片的方法,希望对您能有所帮助。
一个存储图片文件的过程,任何开发工具都可以通过调用过程把图片文存储到数据库中。
oracle中存图片的详细步骤:
SQL connect chanet/chanet@oradb;
已连接。
SQL CREATE TABLE IMAGE_LOB (T_ID VARCHAR2 (5) NOT NULL,T_IMAGE BLOB NOT NULL);
表已创建。
SQL CREATE OR REPLACE DIRECTORY IMAGES AS 'C:\Oracle'; --图片目录
目录已创建。
SQL CREATE OR REPLACE PROCEDURE IMG_INSERT (TID VARCHAR2,FILENAME VARCHAR2) AS F_LOB BFILE; B_LOB BLOB; BEGIN INSERT INTO IMAGE_LOB (T_ID, T_IMAGE) VALUES (TID,EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB; F_LOB:= BFILENAME ('IMAGES', FILENAME); DBMS_LOB.FILEOPEN (F_LOB, DBMS_LOB.FILE_READONLY); DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB, DBMS_LOB.GETLENGTH (F_LOB)); DBMS_LOB.FILECLOSE (F_LOB); COMMIT; END; /
过程已创建。
SQL EXEC IMG_INSERT('1','f_TEST.jpg');
PL/SQL 过程已成功完成。