社区
Java SE
帖子详情
请问,如何处理oracle long raw字段类型
esunshine
2009-12-29 09:51:44
使用ByteArrayInputStream读取后,再插入到表内,很是吃内存,大家有好的方法,不吃内存的。谢谢。
...全文
155
2
打赏
收藏
请问,如何处理oracle long raw字段类型
使用ByteArrayInputStream读取后,再插入到表内,很是吃内存,大家有好的方法,不吃内存的。谢谢。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
esunshine
2009-12-30
打赏
举报
回复
这个long raw 值大的话,就出错了。
crazylaa
2009-12-30
打赏
举报
回复
关于用java存取oracle的long raw类型数据
public static void insertRaw() {
Connection conn=null;
PreparedStatement stmt=null;
Statement stat=null;
String sqlQuery="select name,longraw from test1";
try {
conn=getConnection();
if (conn==null) return;
conn.setAutoCommit(false);
stat=conn.createStatement();
ResultSet rs=stat.executeQuery(sqlQuery);
while (rs.next()) {
String name=rs.getString(1);
byte[] longraw=rs.getBytes(2);
stmt=conn.prepareStatement("insert into test2 values(?,?)");
stmt.setString(1,name);
stmt.setBytes(2,longraw);
stmt.execute();
}
conn.commit();
}catch(SQLException e) {
try {
conn.rollback();
}catch(SQLException re){}
e.printStackTrace();
}finally {
try {
stmt.close();
conn.close();
stat.close();
}catch(SQLException ie){}
}
}
create table TEST1
(
NAME VARCHAR2(20) not null,
LONGRAW LONG RAW
)
test2和test1一样,
这是个例程,我在oracle 9i上运行正常,你根据你自己的表结构改改吧
Oracle
老牌
字段
类型
LONG
、
RAW
、BLOB的读写实践与避坑指南
数据库系统中,文本与二进制数据的存储一直是开发与运维的基石。
Oracle
提供
LONG
、
RAW
、BLOB 等
字段
类型
分别应对不同历史阶段的存储需求:
LONG
作为早期大文本,限制多但存量广;
RAW
以原始字节保存与字符集无关的二进制串;BLOB 则用于图片、附件等大对象。理解它们的读写原理,尤其是 DBMS_LOB 与 UTL_
RAW
的使用边界,能有效避免 ORA-00932、ORA-06502 等常见错误。在数据迁移、接口对接、报表性能优化等场景中,掌握
LONG
转 CLOB、
RAW
与十六进制互转
oracle
表的常见
字段
类型
有哪些,
Oracle
数据库的
字段
类型
字 段 类 型CHAR 固定长度字符串 最大长度2000 bytesVARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytesNVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytesDATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问...
Oracle
中
LONG
、
RAW
、BLOB
类型
与ADO.NET参数绑定实践解析
在数据库应用开发中,
处理
大
字段
和二进制数据是常见需求,
Oracle
的
LONG
、
RAW
、BLOB
类型
分别承担着历史遗留大文本、固定长度字节序列和大型对象的存储职责。这些
类型
在数据读写时与常规VARCHAR2、NUMBER存在显著差异,尤其在使用ADO.NET进行参数绑定时,
类型
映射、长度截断、同语句多LOB限制等问题频繁出现。理解参数绑定原理,掌握byte[]与十六进制字符串的转换,以及借助ROWID精确定位行记录,是高效操作
Oracle
二进制数据的关键。从维护旧系统、数据迁移到接口改造,这些技术都能帮助开发
ORACLE
数据库
字段
类型
说明
ORACLE
数据库
字段
类型
说明
Oracle
Long
、
Raw
、Blob读写实战:迁移、JDBC分流与排错要点
在数据库开发中,
处理
非关系型或非结构化数据时,
Oracle
的传统
类型
Long
、
Raw
与Blob常常让开发者感到棘手。
Long
类型
虽已过时,但许多遗留系统仍在依赖,其2GB容量以及不能参与排序、分组等限制,需要借助TO_LOB迁移至CLOB才能高效使用。
Raw
类型
以十六进制为存储母语,常用来保存MAC地址、UUID等二进制数据,通过HEXTO
RAW
与
RAW
TOHEX实现转换,UTL_
RAW
包则提供了字节级操作能力。Blob作为存储文件、图片等大对象的标准方案,其空定位符机制配合DBMS_LOB、JDBC流式接
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章