`
thomas0988
  • 浏览: 487336 次
  • 性别: Icon_minigender_1
  • 来自: 南阳
社区版块
存档分类
最新评论

ORACLE 将BLOB类型转成SQL语句插入

 
阅读更多
比如有张表结构如下:

create table TestBlob
(
  blb BLOB
)

首先考虑到 如何将表中的BLOB类型转成字符串,我们可以通过创建一个方法:


Create Or Replace Function BlobToVarchar (Blob_In In Blob) Return Varchar2
Is
    V_Varchar Varchar2(4000);
    V_Start Pls_Integer := 1;
    V_Buffer Pls_Integer := 4000;
Begin

    If Dbms_Lob.Getlength(Blob_In) Is Null Then
        Return '';
    End If;

    For I In 1..Ceil(Dbms_Lob.Getlength(Blob_In) / V_Buffer) Loop
        --当转换出来的字符串乱码时,可尝试用注释掉的函数

        --V_Varchar := Utl_Raw.Cast_To_Varchar2(Utl_Raw.Convert(Dbms_Lob.Substr(Blob_In, V_Buffer, V_Start),'SIMPLIFIED CHINESE_CHINA.ZHS16GBK', 'AMERICAN_THE NETHERLANDS.UTF8'));
        V_Varchar := Utl_Raw.Cast_To_Varchar2(Dbms_Lob.Substr(Blob_In, V_Buffer, V_Start));
        V_Start := V_Start + V_Buffer;
    End Loop;

    Return V_Varchar;

End BlobToVarchar;


其次呢,如何将字符串转成BLOB类型呢,ORACLE中有提供rawtohex方法,如:

INSERT INTO TestBlob VALUES(RAWTOHEX('测试测试测试')); --即可将字符串类型的数据插入到BLOB类型的表中。



那么现在大家应该知道怎么将某个表中的BLOB类型导成SQL语句了吧。。 举个例子,把TestBlob表通过一条语句导出成SQL语句。



select 'INSERT INTO TestBlob (rawtohex(replace('''||replace(Blob_To_Varchar(blb),'''','"')||''',''"'','''''''')));'   from TestBlob



然后将结果集的数据拷贝出来即可。



容易吧!!嘻嘻

=============================================
http://hi.baidu.com/blake421/item/ee619f33ffdb0886c3cf2910
分享到:
评论

相关推荐

    Oracle Sql语句转换成Mysql Sql语句

    本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...

    oracle(blob转换为clob)

    在实际应用中,一旦有了`blob_to_clob`函数,就可以轻松地在SQL语句中调用它,更新表中的数据。例如,`update gs_gift set p.description = blob_to_clob(p.description);`这行代码就是将`gs_gift`表中`p....

    oracle中的BLOB(照片)转换到mysql中

    1. **查询BLOB数据**:使用SQL查询语句从Oracle数据库中选择含有BLOB字段的照片记录。例如: ```sql SELECT photo_blob FROM photos WHERE id = ; ``` 这里`photo_blob`是BLOB类型的列,`<photo_id>`是你想获取...

    oracle blob转文件读取

    首先通过`GetblobByFilePath`方法读取文件内容到字节数组中,然后创建一个`OracleParameter`对象并将该字节数组作为参数值传递给SQL语句。最后,执行SQL语句完成插入操作。 #### 3. 读取Blob数据 `ReaderBlob`方法...

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

    在Oracle数据库中,Blob是一种用来存储二进制数据的数据类型,比如图像、音频或视频文件等。本篇文章将详细介绍如何通过SQL查询语句获取存储在Blob字段中的JPEG格式照片的像素大小。 ### 1. 了解Blob数据类型 在...

    如何将DB2数据库中的大对象(BLOB,CLOB)数据类型复制到Oracle数据库中

    本例中,我们讨论如何将DB2数据库中的BLOB数据类型复制到Oracle数据库。 1. **BLOB与CLOB数据类型**: BLOB(Binary Large Object)存储二进制大对象,如图像、音频或视频文件。CLOB(Character Large Object)...

    批量导出ORACLE数据库BLOB字段生成图片

    可以使用PL/SQL的UTL_FILE包或者在客户端工具中执行SQL语句,将BLOB数据写入到磁盘上指定的文件。 7. **文件命名**:根据描述中的"文件名数据列名",确保正确地为每个图片文件分配正确的文件名。 在上述过程中,`...

    函数进行BLOB转换Varchar2.txt

    Oracle SQL 函数进行BLOB转换Varchar2

    插入、取出Blob类型的数据代码示例

    在提供的压缩包中,`blob.sql`文件可能包含了用于创建表和插入/查询Blob数据的SQL语句。`src`目录下的Java源代码可能实现了上述的插入和取出Blob数据的逻辑。`WebRoot`目录可能是Web应用程序的根目录,而`.classpath...

    使用JDBC4.0操作Oracle中BLOB类型的数据方法

    最后,通过预编译的SQL语句插入到数据库中。 要从数据库中读出文件,可以使用以下Java代码: ```java public void readBlob() throws SQLException, IOException { String sql = "SELECT image FROM blobmodel ...

    C#访问oracle数据库类,带blob字段读写

    接着,创建`OracleCommand`对象,设置其CommandType为` CommandType.Text `,并传入SQL语句。最后,调用`ExecuteNonQuery`方法执行命令。例如,插入一条记录的代码可能如下: ```csharp using (OracleConnection ...

    blob类型图片批量导出工具

    Oracle 10g客户端是与Oracle数据库交互的必要组件,它提供了连接数据库、执行SQL语句以及管理数据库对象等功能。未安装的情况下,工具将无法正常工作。 启动该工具后,用户需要配置数据库连接参数。这包括输入...

    Mysql转oracle工具

    例如,MySQL的`VARCHAR2`对应Oracle的`VARCHAR2`,但MySQL的`TINYINT`在Oracle中可能是`NUMBER(3)`,`BLOB`和`CLOB`在两个系统中都有,但处理方式不同。 3. **对象权限和安全模型**: MySQL的权限管理相对简单,而...

    mysql oracle 插入blob数据实例源码

    在这个例子中,我们创建了一个PreparedStatement,设置SQL语句的占位符,并使用setBinaryStream方法将图片文件转换为字节流,然后插入到数据库中。 二、Oracle中的Blob数据插入 Oracle数据库处理Blob数据的方法...

    java file upload BLOB

    - 准备一个 SQL 插入语句,其中包含了多个字段,包括一个名为 `JPGUPLOAD` 的 BLOB 字段。 - 使用 `PreparedStatement` 设置参数值,对于 BLOB 类型的字段,使用 `setBlob` 方法设置为空的 BLOB 对象。 - 最后,...

    oracle中读取blob字段.doc

    本文档将详细介绍如何在Oracle数据库中读取BLOB字段,并通过示例代码展示具体的实现过程。 #### 二、创建包含BLOB字段的表 为了演示如何在Oracle中操作BLOB字段,首先需要创建一个包含BLOB字段的表。以下是一条创建...

    blob_oracle.rar_blob_blob oracle_c++ oracle blob_oracle_oracle

    5. **执行SQL语句**:使用`OCIParse`解析SQL语句,`OCIStmtExecute`执行INSERT语句,将BLOB数据插入到数据库表中。 6. **读取BLOB数据**:若要从BLOB字段读取数据,先调用`OCIBlobOpen`,然后使用`OCIBlobRead`读取...

    数据库表数据转为insert sql语句

    Data row to insert sql是一个小的工具软件,可以将数据库表中指定数据转换成相应的insert sql语句。目前支持的数据库类型为oracle,db2,ms sql server。 目前还有一些缺陷,还有待完善,具体如下: 1、对ms sql ...

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

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

    判断blob字段是否为空

    这条SQL语句将返回所有`image_data`字段为空(即长度为0)的用户ID,这样就可以轻松地找出未上传头像的用户。 ### 性能考量 虽然使用`DBMS_LOB.GETLENGTH`函数是判断BLOB字段是否为空的有效方法,但在大规模数据...

Global site tag (gtag.js) - Google Analytics