oracle读取blob字段的方法,如何读取Oracle的BLOB字段里的文件?
使用ORADBI读取存储在BLOB字段里的多个文件,并还原到指定的路径下。 下面是完整的代码: // // read_blobfile。c - 读BLOBFILE的例子 //内存泄漏检测 // 在需要检测的地方放置语句: // _CrtDumpMemoryLeaks(); // 以下3句的次序不能改变 #define _CRTDBG_MAP_ALLOC #include #include // 包含唯一的ORADBI 头文件 #include "。
。/oradbi。h" #ifdef _DEBUG #pragma comment(lib, "。。/oradbi_dll/debug/oradbid。lib") #else #pragma comment(lib, "。。/oradbi_dll/release/oradbi。
lib") #endif #define ORADB_SERVICE "CHEUNG" #define ORADB_LOGUSER "mineusr" #define ORADB_PASSWORD "minepwd" /*================================================== -- Create table create table TEST ( BM VARCHAR2(10), NAME VARCHAR2(100), BIRTH DATE, DATA BLOB ) tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ); ====================================================*/ // // 显示如何把从BLOB字段读出数据并还原为文件 // void select_blob_data() { lresult rc; ora_error_t err; ora_connection con = 0; ora_sqlstmt stmt = 0; ora_rowset rs = 0; ora_column col; ora_datetime odt; char *psz; char buf[30]; char **pp_fnames = 0; ushort num_files = 0; ushort ui; // 创建连接 rc = ORA_connection_create( &con, ORADB_SERVICE, ORADB_LOGUSER, ORADB_PASSWORD, OCI_THREADED|OCI_OBJECT, FALSE, &err); assert(rc==ORC_SUCCESS); // 创建SQL, 只取一行记录: where rownum<2 rc = ORA_sqlstmt_create( &stmt, con, "select BM,NAME,BIRTH,DATA from TEST where rownum<2", -1, 0, &err ); assert(rc==ORC_SUCCESS); // 执行选取 rc = ORA_sqlstmt_select(stmt, MOD_DEFAULT, &rs, &err); assert(rc==ORC_SUCCESS); printf("n BM NAME BIRTH DATAn------------------------------------------------------n"); while (ORA_rowset_next(rs)) { // BM col = ORA_rowset_get_column_by_index(rs, 1, &err); assert(ORA_column_not_null(col)); ORA_column_as_string(col, &psz, &err); printf(" %s ", psz); // NAME col = ORA_rowset_get_column_by_index(rs, 2, &err); assert(ORA_column_not_null(col)); ORA_column_as_string(col, &psz, &err); printf(" %s ", psz); // BIRTH col = ORA_rowset_get_column_by_index(rs, 3, &err); assert(ORA_column_not_null(col)); ORA_column_as_datetime(col, &odt, &err); ORA_datetime_to_string(odt, "YYYY-MM-DD HH:UU:SS", buf, &err); printf(" %s ", buf); // DATA col = ORA_rowset_get_column_by_index(rs, 4, &err); assert(ORA_column_not_null(col)); // 读取LOB字段数据, 写入文件: rc = ORA_column_read_lobfile(col, "c:\temp", &pp_fnames, &num_files, &err); assert(rc==ORC_SUCCESS); for(ui=0; ui
以上是我对于这个问题的解答,希望能够帮到大家。
全部
oracle读取blob字段的方法,如何读取Oracle的BLOB字段里的文件?相关推荐
- python读文件一次读特定行_Python3实现从文件中读取指定行的方法 python读取文本内每行指定内容...
如何用python读取文本中指定行的内容在这个世界上说不出口的话太多了,你能不能陪小编去,你能不能留下来,你能不能帮帮小编,你对小编很重要,所以你可不可以不要走,到最后哽咽出口的却是,没关系,小编可以 ...
- oracle 4098,ORA-04098错误解决方法-数据库专栏,ORACLE
ora-04098错误解决方法 数据库版本:8.1.5 平台:solaris 5.7 背景: 用户建立了一个trigger: create or replace trigger ddl_deny be ...
- oracle orcl不存在,oracle服务丢失的处理方法之OracleServiceORCL不存在示例
oracle服务是oracle数据库的重要组成部分,下面就教您oracle服务丢失的处理方法,如果您之前遇到过oracle服务丢失的问题,不妨一看. 今天发现数据库服务器上的所有oracle服务都丢失 ...
- c语言 mysql_bind,linux C mysql的blob门类字段的插入和读取
linux C mysql的blob类型字段的插入和读取. RT,没对mysql中的这种类型操作过,还请各位大神帮帮忙,需要一点代码,确实有点急,网上看了一些,但是没怎么看懂.还望指导,多谢!! my ...
- oracle Blob保存方式,关于文件保存到Oracle中BLOB字段的方法及例子
关于文件保存到Oracle中BLOB字段的方法及例子 ------------------------------------------- public class FileOpClass { pu ...
- C++读取文本文件中以TAB作为分隔符,且中间字段有为空的情况的方法?
数据文件:testData.txt 内容: 111 222 444 555 思路: getline()将testData.txt中的第一行记录读入到一个string中,然后搜索第n个分隔符进行定位,判 ...
- python操作文件的库_Python使用pyshp库读取shapefile信息的方法
通过pyshp库,可以读写Shapefile文件,查询相关信息,github地址为 https://github.com/GeospatialPython/pyshp#reading-shapefil ...
- python文件读写用到的库_Python使用pyshp库读取shapefile信息的方法
通过pyshp库,可以读写shapefile文件,查询相关信息,github地址为 import shapefile # 使用pyshp库 file = shapefile.reader(" ...
- 使用FileReader对象的readAsDataURL方法来读取图像文件
使用FileReader对象的readAsDataURL方法来读取图像文件 FileReader对象的readAsDataURL方法可以将读取到的文件编码成Data URL.Data URL是一项特殊 ...
- Unity——写入和读取Json信息的方法
首先在Unity的Assets目录下新建一个Plugins文件夹,引入LitJson.dll类库!!! 编写读写脚本时,还需要再导入命名空间 using LitJson 关于Litjson文件: 可以 ...
最新文章
- 神经网络基础及逻辑回归实现
- Codeforces Round #698 (Div. 2)(A ~ F)6题全,超高质量题解)【每日亿题】2021/2/4
- 边结点结构体的定义及使用
- icloud连接服务器时出现问题_ios13 ipad/iphone与windows 连接传输文件显示连接服务器用户或密码无效解决方法...
- Java学习笔记7-1——注解与反射
- 双端堆c语言,数据结构——双端堆(C语言)
- MyBatis的概述及使用
- 网络编程 - socket接收大数据
- C#对象赋值出现的诡异问题,或许你也遇到过,有待你的解决
- 修改oracle安装目录权限设置权限,oracle rac环境,安装目录权限被修改乱了,怎么恢复?...
- 机电传动与控制【1】
- python修改第三方库重写_对Python第三方库,再次封装
- 龙芯3号处理器-龙芯3A1000,龙芯3A2000/3B2000,龙芯3A1500I,龙芯3A3000/3B3000
- 智点软件定制**服装工厂衣服加工计件工资软件的方案
- 我经历的日本东京交通
- 问题 F: 寻找预言家
- 网络安全知识体系1—网安小白第二篇
- vim教程之基本使用
- Linux中创建组的命令,linux创建用户组命令
- wifi softap(hotspot) porting