如何向BLOB类型的数据项中插入图片
如何向BLOB类型的数据项中插入图片 问题点数:10、回复次数:6Top
1 楼czb(草中宝)回复于 2004-11-03 22:00:34 得分 5
用什么语言?还是用ORACLE本身的?
如果是ORACLE本身,可以用SQL*LOADER
如果是用JAVA,向BLOB类型的数据项中插入图片,需要用ORACLE专用的包。
用JAVA,如果不想用ORACLE专用的包,则需要把数据库的列类型改为LONG RAWTop
2 楼zealot_zk(风中追风)回复于 2004-11-03 22:47:53 得分 0
在sql*plus中不能直接操作blob类型的数据,需要通过一个包来进行处理。Top
3 楼dnmyg2003(毛毛)回复于 2004-11-18 08:25:49 得分 0
能不能把SQL*LOADER怎么用
能把JAVA的代码给我写出来吗?Top
4 楼axlzydh(艾里)回复于 2004-11-18 09:58:21 得分 0
对于BLOB类型,我是用存储过程来实现的。可参见DBMS_LOB包,DEMO里面有例子,自己在Oracle\rdbms里找找就有了。呵呵Top
5 楼axlzydh(艾里)回复于 2004-11-18 09:59:48 得分 0
建议你去装一个PLSQL DeveloperTop
6 楼lcz022(阿五)回复于 2004-11-18 14:05:06 得分 5
呵呵,是不是大对象呀。
写一个java程序:
public boolean insertBlobs(String strTableName, String strArrBlobCols,
byte[] blobValues, String[] strArrColumns,
String[] strArrColumnValues) throws Exception {
String strSQL = null;
Statement ps = null;
ps = conn.createStatement();
String strSelPair = " where ";
boolean blReturn = false;
if (strTableName == null || strTableName.trim().length() < 1)
throw new Exception("表名不能为空");
try {
if (strArrColumns.length != strArrColumnValues.length) {
throw new Exception("普通字段和值个数不一致!");
}
String strColumnsName = strArrBlobCols;
String strColValuePair = "";
strColValuePair += "empty_blob()";
for (int ni = 0; ni < strArrColumns.length; ni++) {
strColumnsName += "," + strArrColumns[ni];
strColValuePair += "," + strArrColumnValues[ni];
if(ni != 0) strSelPair += " and ";
strSelPair += strArrColumns[ni] + "=" + strArrColumnValues[ni];
}
strSQL = "insert into " + strTableName
+ " (" + strColumnsName + ")"
+ " values (" + strColValuePair + ")";
ps.execute(strSQL);
// ps.execute("commit");
strSQL = "select " + strArrBlobCols + " from " + strTableName + strSelPair + " for update";
ResultSet rs = ps.executeQuery(strSQL);
BLOB blob = null;
if(rs.next()) {
blob = ( (oracle.jdbc.OracleResultSet) rs).getBLOB(1);
java.io.OutputStream out = blob.getBinaryOutputStream();
out.write(blobValues);
out.flush();
out.close();
}
blReturn = true;
rs.close();
ps.close();
}
catch (Exception e) {
if (ps != null) {
ps.close();
}
throw e;
}
return blReturn;
}
Top
相关问题
- 请问如何在ListView(vReport类型)中的数据项中显示图片?
- 如何实现“遍历数组,如数据项已存在则返回,不存在则插入”
- 窗口上有两个数据项,一个是“用户名”(下拉数据窗口),另一个是“业务类型”(ListBox),请问怎么将这两个数据项存入到表user中?程序怎么实现?请指教,谢谢!!
- 数据项定位问题?.................
- [DataGrid中的checkbox问题系列] 如何把选中的checkbox对应的ROW部分数据项插入到另外一个表?
- ++++++++如何向blob类型中插入数据
- 插入Blob类型数据到oracle出现错误
- 怎样获取数据项的列名?
- update多个数据项时出错
- 往tabular数据窗口中detail项内插入的编辑条,录入文字后,另存为EXCEL表,文字却不见了,只有数据项,我该怎么做才能在另存为EXCEL后保住文字!




