Oracle中怎样存取图片 用blob存

zhanghang19890621 2010-03-18 12:47:46
刚学oracle 试了半天没有试出来 。

哪位有具体的示例 让小弟参考一下 感激不尽
...全文
171 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangwonderful 2010-03-18
  • 打赏
  • 举报
回复
不需要存储过程,直接在.net中保存即可。上面的代码片段就是基于.net的
zhanghang19890621 2010-03-18
  • 打赏
  • 举报
回复
用的是.Net

存图片是不是要用存储过程来实现?
zhangwonderful 2010-03-18
  • 打赏
  • 举报
回复
String strSql = string.Format(@"UPDATE TGL_YBZTRANSXML SET VARXML = :XML WHERE SWID = '{0}'", '1111-111');
OracleParameter prmsIn = new OracleParameter("XML",OracleType.Blob);
prmsIn.Direction = ParameterDirection.Input;
prmsIn.Value = System.Text.Encoding.Default.GetBytes(m_pic);
zhangwonderful 2010-03-18
  • 打赏
  • 举报
回复
你用什么工具?java还是.net?
zhanghang19890621 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhangwonderful 的回复:]
不需要存储过程,直接在.net中保存即可。上面的代码片段就是基于.net的
[/Quote]
谢谢啊

不过我今天下午研究了半天终于 知道怎么存储图片了

可是问题又来了 我存入后 我取出来的是二进制数据

假如我有一个image 控件 那么怎样得到这张图片 让image显示呢
zhanghang19890621 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gltyi99 的回复:]
在你访问存储过程的函数中加入这个:

C# code

OracleConnection oraConn = null;
OracleCommand oraCmd = null;
OracleParameter oraParm = null;
OracleTransaction oraTran = null;
...

// 读取图片内容
oraCmd.CommandText……
[/Quote]
谢谢啊

不过我今天下午研究了半天终于 知道怎么存储图片了

可是问题又来了 我存入后 我取出来的是二进制数据

假如我有一个image 控件 那么怎样得到这张图片 让image显示呢
gltyi99 2010-03-18
  • 打赏
  • 举报
回复
在你访问存储过程的函数中加入这个:

OracleConnection oraConn = null;
OracleCommand oraCmd = null;
OracleParameter oraParm = null;
OracleTransaction oraTran = null;
...

// 读取图片内容
oraCmd.CommandText = "declare tmplob blob; begin dbms_lob.createtemporary(tmplob,false,0); :tmpBlob := tmplob; end;";

oraParm = new OracleParameter();
oraParm.OracleType = OracleType.Blob;
oraParm.ParameterName = "tmpBlob";
oraParm.Direction = ParameterDirection.Output;
oraCmd.Parameters.Add(oraParm);
oraParm = null;

oraCmd.ExecuteNonQuery();

OracleLob lobFileContents;
lobFileContents = (OracleLob)oraCmd.Parameters["tmpBlob"].Value;

lobFileContents.BeginBatch(OracleLobOpenMode.ReadWrite);
// byteFileContent 为Blob类型的图片内容
lobFileContents.Write(byteFileContent,0,byteFileContent.Length);
lobFileContents.EndBatch();

oraCmd.Parameters.Clear();
Dave 2010-03-18
  • 打赏
  • 举报
回复


参考:
ORACLE LOB 大对象处理
http://blog.csdn.net/tianlesoftware/archive/2009/12/25/5070981.aspx



------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
zhanghang19890621 2010-03-18
  • 打赏
  • 举报
回复
OracleParameter 用这个难道不是用存储过程写的

我刚学啊 呵呵

对了上面那位仁兄的sql语句我道没有看懂
本课程详细讲解了以下内容:    1.jsp环境搭建及入门、虚拟路径和虚拟主机、JSP执行流程    2.使用Eclipse快速开发JSP、编码问题、JSP页面元素以及request对象、使用request对象实现注册示例    3.请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题     4.session与cookie问题及application、cookie补充说明及四种范围对象作用域     5.JDBC原理及使用Statement访问数据库、使用JDBC切换数据库以及PreparedStatement的使用、Statement与PreparedStatement的区别     6.JDBC调用储过程和储函数、JDBC处理大文本CLOB及二进制BLOB类型数据     7.JSP访问数据库、JavaBean(封装数据和封装业务逻辑)     8.MVC模式与Servlet执行流程、Servlet25与Servlet30的使用、ServletAPI详解与源码分析     9.MVC案例、三层架构详解、乱码问题以及三层代码流程解析、完善Service和Dao、完善View、优化用户体验、优化三层(加入接口和DBUtil)    1 0.Web调试及bug修复、分页SQL(Oracle、MySQL、SQLSERVER)     11.分页业务逻辑层和数据访问层Service、Dao、分页表示层Jsp、Servlet     12.文件上传及注意问题、控制文件上传类型和大小、下载、各浏览器下载乱码问题     13.EL表达式语法、点操作符和括号操作符、EL运算、隐式对象、JSTL基础及set、out、remove     14.过滤器、过滤器通配符、过滤器链、监听器     15.session绑定解绑、钝化活化     16.以及Ajax的各种应用     17. Idea环境下的Java Web开发

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧