BLOB字段读写,急 http://www.vckbase.com/code/listcode.asp?mclsid=11&sclsid=1105自己去看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 已经建表结构如下:CREATE TABLE MAP(MAP_NO NEMBUR(2) PRIMARYKEY, MAP_DATE DATE, MAP_BLOB BLOB DEFAULT EMPTY_BLOB)想把E:\test.jpg存放到MAP_BLOB,请问应用什么命令,参数是什么create or replace directory utllobdir as 'e:\';create table bfile_tab (bfile_column BFILE);create table utl_lob_test (blob_column BLOB);declare a_blob BLOB; a_bfile BFILE := BFILENAME('UTLLOBDIR','test.jpg'); begin insert into bfile_tab values (a_bfile) returning bfile_column into a_bfile; insert into utl_lob_test values (empty_blob()) returning blob_column into a_blob; dbms_lob.fileopen(a_bfile); dbms_lob.loadfromfile(a_blob, a_bfile, dbms_lob.getlength(a_bfile)); dbms_lob.fileclose(a_bfile); commit;end;/select dbms_lob.getlength(blob_column) from UTL_LOB_TEST; byte[] b = new byte[strNewsContent.length() + 1];//b是要写入的大对象内容。strNewsContent是从窗体获得的内容字符串 b = strNewsContent.getBytes(); String strSQLAdd = "INSERT INTO t_news(title,NEWS_TYPE,CON_TYPE,WRITER,EDITOR,ISSUE_DATE,TEMPLATE_SID,BROWSER_NUM,CONTENT,SRC,tlevel,sid) values(?,?,?,?,?,?,?,?,?,?,?,?)"; java.sql.PreparedStatement stmt = conn.prepareStatement(strSQLAdd); stmt.setString(1, strNewsTitle); stmt.setString(2, strNewsType); stmt.setString(3, newsCategory); stmt.setString(4, strNewsAuthor); stmt.setString(5, strNewsPublisher); stmt.setString(6, strCreateTime); stmt.setInt(7, intNewsModel); stmt.setInt(8, Integer.parseInt(browserNum)); //设值 stmt.setBytes(9, b); stmt.setString(10, strNewsFrom); stmt.setString(11, level); stmt.setLong(12, sid); stmt.executeUpdate(); stmt.close();其中第9个字段是BLOB类型,这个在DB2上执行的好好的JAVA代码,为什么在ORACLE上就不行了呢? beckhambobo(beckham) 告诉我存储图片的方法,可以帮我指出我上面的代码在ORACLE里为什么不可以么? string 类型数据无法直接插入blob字段,要做一下转换,dbms_lob.cast_to_row()转成row类型. 写错了,抱歉,是utl_raw.cast_to_raw(char *),这是pl/sql的调用,java我不大清楚. PLSQL Developer V7.1.5 那位大哥大姐有注册码或者注册机给兄弟发个! 批量delete和批量insert能否放入一个事务里? MSSQL 只使用一个核心,高端服务器变成垃圾。 ORACLE有没有与SQL SERVER的查询分析器一样的工具? 求助SQL问题 现在哪还能下到oracle817 Oracle 中如何相应一些系统事件 oracle8.1.7(中文)中DATE类型的问题!急! Oracle中使用Java存储过程问题:尖括号无法使用 oracle多表查询问题数据叠加 如何将一个日期转换为一年的某一天! 如何访问oracle中的blob字段
CREATE TABLE MAP
(MAP_NO NEMBUR(2) PRIMARYKEY,
MAP_DATE DATE,
MAP_BLOB BLOB DEFAULT EMPTY_BLOB)想把E:\test.jpg存放到MAP_BLOB,请问应用什么命令,参数是什么create or replace directory utllobdir as 'e:\';
create table bfile_tab (bfile_column BFILE);
create table utl_lob_test (blob_column BLOB);declare
a_blob BLOB;
a_bfile BFILE := BFILENAME('UTLLOBDIR','test.jpg');
begin
insert into bfile_tab values (a_bfile)
returning bfile_column into a_bfile;
insert into utl_lob_test values (empty_blob())
returning blob_column into a_blob;
dbms_lob.fileopen(a_bfile);
dbms_lob.loadfromfile(a_blob, a_bfile, dbms_lob.getlength(a_bfile));
dbms_lob.fileclose(a_bfile);
commit;
end;
/
select dbms_lob.getlength(blob_column) from UTL_LOB_TEST;
b = strNewsContent.getBytes();
String strSQLAdd = "INSERT INTO t_news(title,NEWS_TYPE,CON_TYPE,WRITER,EDITOR,ISSUE_DATE,TEMPLATE_SID,BROWSER_NUM,CONTENT,SRC,tlevel,sid) values(?,?,?,?,?,?,?,?,?,?,?,?)";
java.sql.PreparedStatement stmt = conn.prepareStatement(strSQLAdd);
stmt.setString(1, strNewsTitle);
stmt.setString(2, strNewsType);
stmt.setString(3, newsCategory);
stmt.setString(4, strNewsAuthor);
stmt.setString(5, strNewsPublisher);
stmt.setString(6, strCreateTime);
stmt.setInt(7, intNewsModel);
stmt.setInt(8, Integer.parseInt(browserNum));
//设值
stmt.setBytes(9, b);
stmt.setString(10, strNewsFrom);
stmt.setString(11, level);
stmt.setLong(12, sid);
stmt.executeUpdate();
stmt.close();其中第9个字段是BLOB类型,这个在DB2上执行的好好的JAVA代码,为什么在ORACLE上就不行了呢?