`

Oracle数据库中向BLOB类型字段插入字符串并把插入的BLOB数据转换成字符串显示

阅读更多

首先先在数据库中创建一张表

create table TB_TEST
(
  ID  NUMBER,
  BLB BLOB
)

 

其次向表中插入一条空数据

insert into tb_test (id,blb) values (1,empty_blob())

 

最后更改BLOB字段的值

 declare
  directions BLOB;

  amount          BINARY_INTEGER;
  offset          INTEGER;
  first_direction VARCHAR2(100);
  more_directions VARCHAR2(500);
begin
  update set blb = empty_blob() where id = 1; --更新和新增一样要将BLOB字段设置为EMPTY_BLOB()
  select blb into directions from tb_test where id = 1 for update; --一定要用for update锁住记录,否则        
  --DBMS_LOB.OPEN会出错
  DBMS_LOB.OPEN(directions, DBMS_LOB.LOB_READWRITE);

  first_direction := '这是我的第一个插入blob的数据,测试一下看一下效果如何,是否能够用pl/sql直接插到插入的数据值!';
  amount          := LENGTHB(first_direction); --number of characters to write
  --有中文必须用LENGTHB
  offset := 1; --begin writing to the first character of the CLOB
  DBMS_LOB.WRITE(directions,
                 amount,
                 offset,
                 UTL_RAW.cast_to_raw(first_direction));
  --UTL_RAW.cast_to_raw函数将字符串转换成二进制数
  DBMS_LOB.CLOSE(directions);
  commit;
end;

 

把插入的BLOB数据转换成字符串显示的方式是

select id,UTL_RAW.cast_to_varchar2(blb) blb from tb_test t;

 

这种方式在显示纯文本字符串时显示的是正常的,可当我插入的数据例如是<form id="form1" name="form1"><input type="data" value="hello"></form>这种时在查询显示时就会显示为空,兄弟姐妹们谁有更好的显示方式,看到的话分享一下,谢谢了!!

分享到:
评论

相关推荐

    ORACLE中CLOB字段转String类型

    - `TRANSLATE`函数用于替换字符串中的字符。在这里,它被用来移除CLOB字段`PW.SPYJ`中的换行符(`CHR(13)`代表回车,`CHR(10)`代表换行)。 - `FROM DUAL;`表明这是一个简单的测试查询,通常用于演示目的。 #### 四...

    Java读取数据库中blob字段并插入到另一个表中

    可以从数据库中读取blob字段并插入到另一个表中,已经测试通过

    ORACLE中BLOB字段导入到SQL SERVER中的IMAGE字段

    本篇文章将详细探讨如何将ORACLE数据库中的BLOB(Binary Large Object)字段导入到SQL SERVER中的IMAGE字段,这通常涉及到数据转换、数据迁移以及可能的数据类型兼容性问题。 首先,让我们了解BLOB和IMAGE字段的...

    图片BASE64加密保存到数据库Blob类型中(放入数据库,并取出生成图片)

    本示例主要涉及的是如何将图片通过BASE64编码加密后存入数据库的Blob类型字段,并能从数据库中取出这些数据再还原成原始图片。以下是相关知识点的详细说明: 1. **BASE64编码**:BASE64是一种用于将二进制数据转换...

    oracle中读取blob字段.doc

    在Java应用程序中读取Oracle数据库中的BLOB字段通常涉及到几个步骤:建立数据库连接、执行查询语句、获取结果集并从中提取BLOB数据,最后将这些数据写入到文件中。 ##### 3.1 加载Oracle驱动 在Java程序中使用...

    Oracle接收长度大于4000的字符串

    - **分块读取**:由于`VARCHAR2`类型的限制,需要分块读取Blob数据,并将其拼接成完整的字符串。 - **性能考虑**:当处理大量或非常大的字符串时,需注意对性能的影响。在实际应用中,可以考虑优化读取逻辑,比如...

    oracle查询blob字段照片(jpeg) 像素大小sql

    1. **提取高度**:从字符串中提取前两个字符'01B9',并将其转换为十进制表示图片的高度。这里的'01B9'等于十进制中的441。 2. **提取宽度**:接着提取接下来的两个字符'0166',并将其转换为十进制表示图片的宽度。...

    oracle(blob转换为clob)

    `UTL_RAW.CAST_TO_VARCHAR2`是Oracle提供的一个包中的函数,用于将RAW或BLOB类型的二进制数据转换为VARCHAR2字符串类型。这一步骤对于将BLOB转换为CLOB至关重要,因为CLOB本质上是一种字符数据类型,而不能直接与二...

    图片存入Oracle中,用clob和blob两种方式

    - **插入数据**:通过SQL插入语句,将转换后的图片数据插入到相应的字段中。 - **保存图片**:提交事务,确保数据保存到数据库中。 4. **从Oracle中读取图片**: - **查询数据**:使用SQL查询语句获取`CLOB`或`...

    sql server中的image类型的数据导出到oracle的clob字段中

    我们使用了 Java 语言和 JDBC 驱动程序来实现数据的导出,并将 Image 类型数据写到文件中,然后将文件中的数据读取出来,并将其设置到 Oracle 的 CLOB 字段中。这种方法可以帮助我们实现不同数据库管理系统之间的...

    向Oracle数据库的CLOB属性插入数据报字符串过长错误

    当你尝试向CLOB字段插入数据时,如果遇到“字符串过长”的错误,通常是因为你的插入操作试图将超过Oracle允许的最大限制的数据放入CLOB字段。 Oracle CLOB字段可以存储最多4GB的数据,但在某些情况下,如使用SQL...

    oracle LongRaw 转 Blob

    在C#中,Oracle提供了Oracle.DataAccess.Client库来操作Oracle数据库,包括LongRaw和Blob字段的转换。以下是一个简单的步骤概述: 1. **连接数据库**:使用OracleConnection类建立到Oracle数据库的连接。需要提供...

    Struts2 Hibernate存取Oracle数据库中的BLOB数据.pdf

    - LONG和LONG RAW:用于存储可变长的字符串数据和二进制数据,但有长度限制,每个表中只能有一个LONG字段,并且最长为2GB。 - CLOB(字符大对象):用于存储大型文本数据,与字符集相关联,支持文本型数据,如历史...

    oracle中blob 字段类型的应用

    Oracle中的Blob字段类型是用于存储大量二进制数据的数据类型,比如图像、音频或大型文档。Blob代表Binary Large Object,其最大容量可达4GB。在Oracle数据库中,Blob与Clob(Character Large Object)、Bfile和Nclob...

    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob).docx

    1. VARCHAR2(20):这是Oracle中的可变长度字符串类型,用于存储最多20个字符的文本数据。在INSERT语句中,你可以直接将字符串值传递给对应的参数,例如`Ocom.Parameters["emp_no"].Value = tbempno.Text;` 2. LONG...

    c# winform 操作oracle数据库的Blob字段,把图片存储到数据库,保存图片到数据库

    本文将详细讲解如何操作Oracle数据库中的Blob字段,以实现图片的存储和读取。Blob(Binary Large Object)字段类型用于存储大量的二进制数据,如图片、文档等。 首先,确保已安装了Oracle的客户端库,如ODP.NET ...

    Oracle导出Clob,Blob工具

    在描述中提到的“Oracle导出Clob,Blob等大字段工具”就是为了解决这个问题而设计的,它是一个自编写的实用程序,方便用户导出和管理Oracle数据库中的大对象数据。 Oracle数据库中的Clob类型用于存储大量的文本数据...

    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob) (2).docx

    1. VARCHAR2:这是Oracle数据库中最常见的字符串类型,用于存储可变长度的字符数据。例如,`VARCHAR2(20)`表示可以存储最多20个字符的数据。在INSERT语句中,可以使用如下方式设置VARCHAR2类型的值: ```sql INSERT...

    Oracle在PB中用OLE存取blob类型数据[归类].pdf

    7. 创建窗口w_dbblob:创建一个名为w_dbblob的窗口,并在该窗口中添加一个数据窗口dw_1,该数据窗口用于显示Blob类型数据,并且在rowfocuschanged事件中使用SQL语句将Blob类型数据存取到数据库中。 8. 创建窗口w_...

    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob).pdf

    插入数据到BLOB字段时,通常需要先将图像文件保存到服务器,然后读取文件内容并将其插入数据库。例如: ```csharp private void BtInsert_Click(object sender, System.EventArgs e) { // 获取图片文件内容并保存...

Global site tag (gtag.js) - Google Analytics