select * from d_41_001 t;
create or replace procedure get_blob
(
t_ywlsh varchar2,out_blob out varchar2
)
as
load_blob blob;
amount int;
offset int:=1;
buffer varchar2(3000);
begin
select tabd4101_sqs into load_blob from d_41_001 where ywlsh=t_ywlsh;
amount:=dbms_lob.getlength(load_blob);
dbms_lob.read(load_blob,amount,offset,buffer);
out_blob:=utl_raw.cast_to_varchar2(buffer);
end;
declare
out_string varchar2(3000);
begin
get_blob('WH-A4120101201027041',out_string);
end;
create or replace procedure get_blob (t_ywlsh varchar2,poname varchar2) IS
l_file UTL_FILE.FILE_TYPE;
l_buffer RAW(32767);
l_amount BINARY_INTEGER := 32767;
l_pos INTEGER := 1;
l_blob BLOB;
l_blob_len INTEGER;
BEGIN
select tabd4101_sqs into l_blob from d_41_001 where ywlsh=t_ywlsh;
l_blob_len := DBMS_LOB.GETLENGTH(l_blob);
l_file := UTL_FILE.FOPEN('BLOBDIR',poname,'wb', 32767);
WHILE l_pos < l_blob_len LOOP
DBMS_LOB.READ (l_blob, l_amount, l_pos, l_buffer);
dbms_output.put_line(l_buffer);
UTL_FILE
UTL_FILE.PUT_RAW(l_file, l_buffer, TRUE);
l_pos := l_pos + l_amount;
END LOOP;
UTL_FILE.FCLOSE(l_file);
END;
分享到:
相关推荐
当从数据库读取BLOB数据时,我们需要使用Hibernate提供的API。例如,我们可以从查询结果集中获取BLOB对象,然后通过流操作读取其内容: ```java Session session = HibernateUtil.getSessionFactory()....
5. 读取BLOB数据:读取BLOB数据时,同样使用`ADODB.Stream`对象。假设我们已经获取了包含BLOB数据的记录集,可以这样处理: ```vb Dim blobStream As New ADODB.Stream blobStream.Open blobStream.Write rs(...
C# 中的 BLOB(Binary Large OBject)读取操作是指从数据库中读取二进制数据的过程。BLOB 是一种二进制数据类型,用于存储大规模的二进制数据,如图片、音频、视频等。在 C# 中,我们可以使用 FileStream 对象来读取...
4. **读取BLOB数据**:通过`ResultSet`获取到`BLOB`对象,并将其转换为`InputStream`进行读取。 ```java if (rs.next()) { oracle.sql.BLOB content = (oracle.sql.BLOB) rs.getBlob("content"); ...
除了读取BLOB数据之外,还可能需要向表中写入BLOB数据。这通常涉及到将本地文件的数据读取到内存中,然后将其插入到数据库中的BLOB字段。 ##### 4.1 准备SQL语句 准备一条SQL插入语句,用于插入新的记录。 ```java...
关于在SQL Server数据库系统中存取BLOB数据的探讨 在SQL Server数据库系统中,存取BLOB(Binary Large OBject)数据是一种复杂的问题。BLOB数据是指非结构化的大型二进制数据,例如图片、音频、视频等。这种数据...
4. 打开查询并读取Blob数据。使用TOracleBlobField的LoadFromStream方法,将Blob字段的内容加载到一个TMemoryStream中。 5. 分块读取Blob:在TOracleBlobField的LoadFromStream方法内部,可以设置Stream的Size为...
3. **获取Blob数据**:使用`OracleDataReader`从结果集中读取Blob数据。 4. **处理Blob数据**:将Blob数据转换为文件并进行相应的操作。 #### 三、示例代码解析 根据提供的部分代码片段,我们可以进一步了解如何在...
- 读取Blob数据时,确保及时关闭输入流和输出流,以避免资源泄漏。 - 如果数据量非常大,可以考虑使用分块读取或异步处理,以减少内存占用。 综上所述,使用Hibernate读取Blob字段涉及到配置映射文件、定义实体类...
3. **读取Blob数据**:在Java代码中,使用ResultSet的getBinaryStream方法读取Blob数据流。例如: ```java ResultSet rs = stmt.executeQuery(sql); if (rs.next()) { InputStream blobStream = rs....
读取BLOB数据时,同样需要使用事务处理,执行一个SQL查询命令,并通过数据读取器获取对应的OracleLob指针。之后,可以从数据库中读取BLOB数据,并将其写入到文件中,同样需要使用到文件流操作。 值得注意的是,在...
3. **读取Blob数据**:在VC6中,Blob字段通常作为`ADODB.Stream`对象处理。以下是如何读取Blob字段的示例: ```cpp CComPtr<ADODB::_Recordset> rs; rs.CoCreateInstance(__uuidof(ADODB::Recordset)); rs->Open...
// 读取BLOB数据 long blobLength; char* blobData = new char[blobLength]; rs.GetFieldValue(_T("image"), blobData, &blobLength); // 处理blobData,如写入文件或显示 delete[] blobData; ``` **使用C++与ADO...
// 读取BLOB数据 readBlobData(conn); } catch (Exception e) { e.printStackTrace(); } } private static void insertBlobData(Connection conn) throws Exception { String sql = "INSERT INTO your_...
在本场景中,我们将探讨如何在 Delphi 中将二维数组数据转换为 Blob 数据,然后存入 MySQL 数据库,并从数据库中读取出来。 首先,我们需要了解 Delphi 中的二维数组和 Stream 对象的概念。二维数组是多个一维数组...
通过这种设计,当需要读取BLOB数据时,应用程序可以通过HTTP请求向服务器发送请求,服务器端的自定义HTTP处理程序接收到请求后,根据请求参数定位到相应的BLOB数据,然后以内存流的形式读取并返回给客户端。...
当从数据库读取BLOB数据时,可以创建一个`_RecordsetPtr`对象,执行SELECT查询,然后读取`Binary`或`LongBinary`类型的字段。例如: ```cpp _RecordsetPtr rs; rs.CreateInstance(__uuidof(Recordset)); rs->...
- 访问:当需要读取blob数据时,数据库会根据存储的指针定位到实际数据位置,然后将其返回给应用程序。 2. **操作步骤**: - 插入:插入blob数据时,需要将二进制数据转换为适合数据库存储的格式,如使用C#的`...
5. 对于读取BLOB数据,首先定位到包含BLOB数据的记录,然后调用Field对象的GetChunk方法,分块读取数据。可以根据需要多次调用,每次获取一部分数据。 6. 读取完成后,关闭Recordset和Connection对象,释放资源。 ...