读取oracle bfile字段,【转】ORACLE BLOB BFILE 文件的录入及读取

【转】ORACLE BLOB BFILE 文件的录入及读取

如果你接触过mysql的话一定对mysql的text和blob不会陌生,在mysql中是直接操作text和blob的。但是在oracle中,它把lob做为一种特殊的字段,不能直接进行操作--比如不能直接插入到lob字段中,也不能用like查询等等。

这里是我保存的一篇这方面的文章,原文搬过来,由于保存的时候只是取了一部分,没头没尾的,所以没法找到原来的出处。

不能直接用INSERT语句向LOB字段中插入值。一般情况下,有如下的几步:

1   先分析一个INSERT语句,返回一个LOB的描述符

2   用OCI函数生成一个本地的LOB对象

3   将LOB对象绑定到LOB描述符上

4   执行INSERT语句

5   给LOB对象赋值

6   释放LOB对象和SQL语句句柄

下面的这个例子是把用户上传的图片文件存放到BLOB(或BFILE中,操作稍有不同)中。

首先要建一个表,结构如下:

CREATE   TABLE   PICTURES   (

ID   NUMBER,

DESCRIPTION   VARCHAR2(100),

MIME   VARCHAR2(128),

PICTURE   BLOB

);

如果要实现ID的自动增加,再建一个SEQUENCE:

CREATE   SEQUENCE   PIC_SEQ;

然后是用来处理数据的PHP程序代码。

//建立Oracle数据库连接

$conn   =   OCILogon($user,   $password,   $SID);

//提交SQL语句给Oracle

//在这里要注意的两点:一是用EMPTY_BLOB()函数。这是Oracle的内部函数,返回一个LOB的定位符。在插入LOB时,只能用这个办法先生成一个空的LOB定位符,然后对这个定位符进行操作。EMPTY_BLOB()函数是针对BLO

相关文档:

虽然学习Java很久了,自己也连接过一些数据库,比如mysql之类的,如今呢,也学习了一段时间的Oracle,然而呢,今天是我第一次连接Oracle,嘿嘿,应该还不算太迟吧。

今天呢,有点笨拙,大家莫笑!

我这是一个查询例子

首先,� ......

--名词说明:源——被同步的数据库

目的——要同步到的数据库

前6步必须执行,第6以后是一些辅助信息.

--1、在目的数据库上,创建dblink

drop public database link dblink_orc92_182;

Create public DATABASE LINK dbl ......

参数

UNDO_MANAGEMENT = AUTO      --管理模式,可为AUTO或MANUAL.只能在启始参数文件里面修改

UNDO_TABLESPACE = undo             --制定存储还原数据的表空间,亦可用ALTER SYSTEM SET undo_tablespace = 'abc'来� ......

在大多数时候我们在设计程序的时候都遵循下面的步骤:

1、打开游标

2、开始循环

3、从游标中取值

那一行被返回

5、处理

6、关闭循环

7、关闭游标

可以简单的把这一类代码称为游标用于循环。但还有一种循环与这种类型不相同,这就是FOR循环,用于FOR循环的游标按照正常的声明方式声明,它的优� ......

安装Oracle后,更改Windows计算机名,导致部分Oracle第三方工具,如:PLSQL

Developer无法登陆,并提示ORA-12541:TNS:no listener或ORA-12547:TNS:丢失联系等错误信息的解决方法。

答:从Oracle的错误提示来看,是说TNS:no listener

,估计是某种服务没有启动,打开windows管理工具->服务,一看,有一个Oracle ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值