VC++中使用OCCI

OCCI开发包大全(包括vc7 vc8 vc9 vc10 vc14 多个版本).rar OCCI开发包大全(包括vc7 vc8 vc9 vc10 vc14 多个版本)。OCCI开发需要对应的sdk与vs版本对应,包括debug和release版本,版本如下: Visual Studio 6 : vc6 Visual Studio 2003 : vc7 Visual Studio 2005 : vc8 Visual Studio 2008 : vc9 Visual Studio 2010 : vc10 Visual Studio 2012 : vc11 Visual Studio 2013 : vc12 Visual Studio 2015 : vc14 Visual Studio 2017 : vc15 立即下载

 1.简介
在Windows下访问Oracle数据库可以使用ADO,ADO.Net,OLEDB,ODBC,跨平台的OCCI等方法,其中速度最快,对Oracle支持最完整的是Oracle提供的OCCI.

2. 安装 OCCI SDK
OCCI SDK 包含在 Oracle 客户端中,在如下位置可以找到:
头文件: C:/oracle/ora92/oci/include
库文件: C:/oracle/ora92/oci/lib/msvc
 
推荐安装 Oracle 即时客户端( Instant Client ),它也包含有 OCCI SDK 。
头文件: instantclient_10_2/sdk/include
库文件: instantclient_10_2/sdk/lib/msvc
 
3. 编译 OCCI 程序
关于在 VC 下如何编译,调试 OCCI 程序,参见《 VC++调试OCCI程序的关键设置 》
 
4.OCCI 编程步骤
 
4.1  连接到数据库
 
// 创建 OCCI 上下文环境
Environment  *env = Environment::createEnvironment();
assert ( env != NULL );
 
// 创建数据库连接
Connection  *conn = env->createConnection("uid", "pwd","oracle_svr_name");
 
//...
// todo: 插入自己的代码
 
// 关闭连接
env -> terminateConnection ( conn );
// 释放
Environment :: terminateEnvironment ( env );
 
4.2  执行基本的 SQL 语句
// 创建 SQL 语句控制句柄
Statement  *stmt = conn->createStatement();
 
a. 执行一般的 SQL 语句
stmt -> executeUpdate ( "Create TABLE basket_tab (fruit VARCHAR2(30), quantity NUMBER)" );
stmt -> executeUpdate ( "delete basket_tab" );
 
b. 重复利用 SQL 语句 , 参数化的 SQL 语句
//:1,:2 是参数占位符
stmt -> setSQL ( "Insert INTO basket_tab VALUES(:1,:2)" );
//  第一个参数
stmt -> setString (1,  "Bananas");
//  第二个参数
stmt -> setInt (2,  5);
stmt -> executeUpdate ();
 
  c. 一次修改多行数据
// 最多允许的迭代次数,注意这个参数需要在 setXXX 系列函数之前执行
stmt -> setMaxIterations ( int  maxIterations);
// 指定某个参数的大小, string 和 byte 需要
stmt -> setMaxParamSize ( int  parameterIndex, int maxParamSize);
 
for (...)
{
    //  第一个参数
    stmt->setString(1, "Bananas");
    //  第二个参数
    stmt->setInt(2, 5);
 
    // 増加一行记录,类似于 ADO 的 AddNew
    pStmt->addIteration();
}
 
stmt -> executeUpdate ();
 
d. 执行查询:获取结果集 ( 记录集 )
ResultSet  *rs = stmt->executeQuery("Select * FROM basket_tab");
while  (rs->next())
{
    string fruit = rs->getString(1); // get the first column as string
    int quantity = rs->getInt(2); // get the second column as int
}
 
// 关闭结果集
stmt -> closeResultSet ( rs );
 
e. 执行存储过程
// 指定存储过程 countFruit
stmt -> setSQL ( "BEGIN countFruit(:1, :2); END:" );
// 设置第一个参数
stmt -> setString (1,  "Apples");
 
int  quantity;
// 注册输出参数
stmt -> registerOutParam (2,  Type::OCCIINT, sizeof(quantity));
 
// 执行此存储过程
stmt -> executeUpdate ();
 
// 释放 SQL 语句控制句柄
conn -> terminateStatement ( Statement  *stmt);
 
4.3  事务
所有的 DDL 默认开始并自动提交一个事务
所有的 DML 默认开始一个事务,且不会自动提交
 
// 可以指定 DML 是否自动提交
stmt -> setAutoCommit ( TRUE / FALSE );
 
// 也可以手动提交或回滚。
conn -> commit ();
conn -> rollback ();
 
4.4  异常处理
try
{
    //OCCI 程序
}
catch  (SQLException &sqlExcp)
{
    cerr <<sqlExcp.getErrorCode << ": " << sqlExcp.getErrorMessage() << endl;
}
catch  (exception &excp)
{
    cerr << excp.what() << endl;
}

Qlib数据获取避坑指南:从CSV导入到自定义数据源的完整解决方案 本文详细解析了Qlib数据获取的完整解决方案,从CSV导入到自定义数据源,涵盖了股票数据处理的关键技巧和常见陷阱。特别针对Qlib平台的数据格式要求和复权处理提供了实用指南,帮助量化投资者高效整合Wind等第三方数据源,确保数据质量与模型性能。 阅读详情

相关推荐

802.11 NDP Sounding

NDP Sounding1.NDP原理2.NDP 过程3.帧结构3.1 NDPA结构3.2 CBF帧 1.NDP原理 802.11n标准提供的波束成形技术,可以通过预先补偿发射天线的相位,让两条波束进行叠加以实现最好的效果 显式波束成形需要终端反馈信道信息: AP向STA发送探测数据(NDP: null data packet sounding) STA向AP反馈信道信息(Compressed beamforming) AP根据STA的反馈或自行计算的权重信息进行波束成形 2.NDP 过程 802.

weixin_45799954的博客 8262

OCI接口简介及其在VC++中的应用

 摘  要: OCI(Oracle Call Interface)是Oracle公司提供的开发基于Oracle数据库应用程序的底层接口,它具有速度快、支持第三代编程语言、对Oracle数据库的控制功能强等优点。本文首先介绍了OCI接口的优点、应用范围、OCI程序结构,接着详细介绍了在MiroSoft VC++6.0中应用OCI来访问Oracle数据库,以实例的方式演示了SQL语句的执行过程,并

1万+

手把手教你为智能手表DIY一个离线导航:LVGL + SD卡地图实战

本文详细介绍了如何为智能手表DIY一个离线导航系统,结合LVGL图形库和SD卡地图数据。从硬件选型、地图数据处理到LVGL地图引擎实现,提供了完整的实战指南,特别适合户外运动爱好者和嵌入式开发者。文章还分享了功耗优化、性能提升等实用技巧,帮助读者打造高效的离线导航解决方案。

weixin_42570484的博客 205

VC6中配置occi环境

VC6.0中occi配置步骤一、工程头文件stdafx.h里加入:  #include   #include   using namespace oracle::occi;  using namespace std;二、project->settings->C++->下拉Category-> Preprocessor:1.Preprocessor definitions: WIN32, _DEBU

大瓜的专栏 2101

【低空经济】森林火情高精度监测与早期预警无人机巡护方案

在全球范围内,森林火灾已成为一个严重的生态和社会问题。它不仅对自然生态系统造成了毁灭性的影响,还对人类的生命财产安全构成了极大的威胁。根据国际森林发展组织的统计,全球每年因森林火灾造成的经济损失高达数百亿美元,甚至在某些年份,火灾损失占到某些国家国民经济总量的相当一部分。因此,开展高效的森林火情监测与早期预警工作显得尤为重要。随着科技的发展,无人机作为新兴的监测工具,以其高效、灵活和经济的特点在森林火灾监测领域展现出了巨大的潜力。

2502_92579126的博客 1211

解决用VScode写中文注释,Vivado打开之后是乱码的方法

这样就解决了中文注释乱码的问题,此外如果使用notepad++写verilog代码的话直接在notepad++上面将编码格式改为ANSI格式即可,更加方便快捷,所以此方法仅针对习惯用VScode写Verilog的同学,如果有其他好办法的话欢迎评论区补充。首先,VScode中的中文默认编码格式是UTF-8,然后Vivado的编码格式是vivado 默认的应该是ANSI编码格式,刚开始我先按照网上说明的,将VScode中的编码格式改为GBK格式(点击右下角->点击通过编码保存)。

weixin_50573305的博客 5809

oracle c occi,VC++6.0开发occi程序需要做的环境配置

初次接触或开发OCCI会遇到很多令人头痛的问题,在没有配置好环境参数的情况下,即使直接从Oracle关于介绍OCCI开发的文档中Copy一份完整的程序后,稍加修改,再编译,运行,恐怕也难以顺利如随心愿。当然,网上也有介绍或能找到针对某一错误问题的解决方法,但这些问题却时常能够折磨人好几天。本文由此从环境配置到最后的成功编译运行作一详细展述,以期对读者开发OCCI应用程序有一些帮助。1、 环境Win...

weixin_33300279的博客 288

迪文串口屏开发环境搭建全流程:从DGUS Tool到串口联调

串口屏作为嵌入式人机交互的核心组件,通过串口通信实现主控MCU与显示终端的指令交互。其工作原理基于变量地址映射,主控读写VP地址即可驱动屏上控件,兼具低功耗与高稳定性。在工业控制、医疗设备及智能家居面板等场景中,串口屏能显著降低开发门槛与硬件成本。迪文屏凭借DGUS Tool上位机与自定义串口协议,成为主流选择。掌握DGUS Tool版本匹配、串口驱动安装及VP地址规划,是快速搭建开发环境的关键。

weixin_33937499的博客 602

CLOB字段的插入以及更新操作 .

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33922670的博客 398

国产信创服务器软硬件兼容情况1 --- ARM架构

信创,即信息技术应用创新产业,它是数据安全、网络安全的基础,也是新基建的重要组成部分...

一只猿的自我修养 4741

ThingsBoard实战指南:RPC命令下发与设备交互详解

本文深入解析了ThingsBoard平台中RPC命令下发的核心机制与实战应用。通过对比客户端与服务端RPC模式,详细阐述了从仪表盘控件配置到设备端Python代码响应的完整双向交互流程,并提供了常见问题排查与进阶优化技巧,帮助开发者构建可靠、实时的物联网设备控制系统。

weixin_29168153的博客 211

vc occi oracle,VC++.net使用OCCI连接远程Oracle数据库

本文由aduanyue贡献doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。VC++.net 使用 OCCI 连接远程 Oracle 数据库用 C++去连 Oracle 数据库,Oracle 版本为 10g,在经过 n 次错误后终于成功连 接。 最开始用 ADO 连,装上客户端以后,在 Oracle Net Manager 中设置服务命名, 测试连接成功,然后 设...

weixin_29988441的博客 204

Python爬虫实战:高德地图POI信息爬取(餐馆/加油站等),附选址分析技巧

高德API配置AMAP_KEY = "你的高德API Key" # 替换成自己的Key# 爬取参数CITY = "成都" # 城市DISTRICTS = ["锦江区"] # 区域,可添加多个(比如["锦江区", "武侯区"])KEYWORDS_LIST = ["川菜馆", "加油站"] # 要爬取的POI类型TYPES = {"川菜馆": "050101", # 餐饮服务→中餐→川菜馆(高德POI分类编码)"加油站": "110100" # 交通设施→加油站。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2467

VC++.net使用OCCI连接远程Oracle数据库

       由于项目的需要,需要用C++去连Oracle数据库,Oracle版本为10g,在经过n次错误后终于成功连接。        最开始用ADO连,装上客户端以后,在Oracle Net Manager中设置服务命名,测试连接成功,然后设置ODBC数据源,测试也成功,ADO连接串写上"DSN=xxx"就能连上了,但是在释放连接时总是出错,经过多次尝试后放弃,在网上看到Oracle专门为C+

fengzi_shen的专栏 2577

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

在VC++中使用OCCI

1.简介 在Windows下访问Oracle数据库可以使用ADO,ADO.Net,OLEDB,ODBC,跨平台的OCCI等方法,其中速度最快,对Oracle支持最完整的是Oracle提供的OCCI. 2.安装OCCI SDK OCCI SDK包含在Oracle客户端中,在如下位置可以找到: 头文件:C:\oracle\ora92\oci\include 库文件:C:\or

冷月宫主的专栏 821

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VC++.net使用OCCI连接远程Oracle

用 C++去连 Oracle 数据库,Oracle 版本为 10g,在经过 n 次错误后终于成功连 接。 最开始用 ADO 连,装上客户端以后,在 Oracle Net Manager 中设置服务命名,测试连接成功,然后 设置 ODBC 数据源,测试也成功,ADO 连接串写上”DSN=xxx”就能连上了,但是在 释放连接时总是出错, 经过多次尝试后放弃,在网上看到 Oracle 专门为 C++提供

goaago的博客 187

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

c 连接远程oracle,VC++.net使用OCCI连接远程Oracle数据库

VC++.net使用OCCI连接远程Oracle数据库用C++去连Oracle数据库,Oracle版本为10g,在经过n次错误后终于成功连接。最开始用ADO连,装上客户端以后,在Oracle Net Manager中设置服务命名,测试连接成功,然后设置ODBC数据源,测试也成功,ADO连接串写上"DSN=xxx"就能连上了,但是在释放连接时总是出错,经过多次尝试后放弃,在网上看到Oracle专门为...

weixin_34191434的博客 235

vc 连接远程oracle数据库连接,VC++.net使用OCCI连接远程Oracle数据库

由于项目的需要,需要用C++去连Oracle数据库,Oracle版本为10g,在经过n次错误后终于成功连接。最开始用ADO连,装上客户端以后,在Oracle Net Manager中设置服务命名,测试连接成功,然后设置ODBC数据源,测试也成功,ADO连接串写上"DSN=xxx"就能连上了,但是在释放连接时总是出错,经过多次尝试后放弃,在网上看到Oracle专门为C++提供了连接的接口OCCI,于...

weixin_42361071的博客 499

occi oracle大批量查询,vc++6.0中使用OCCI前的配置 链接oracle查询数据的示例

一 occi开发环境设置1)打开VC6开发环境窗口,点击菜单“工具->选项”,弹出选项窗口,点击“目录”选项卡。在出现的对话框中,单击目录下拉列表,选中“Include files”,添加路径“D:\ORACLE\ORA92\OCI\INCLUDE”(此文件夹在oracle的安装目录下)。然后在下拉列表,选中“library files”,添加路径“D:\ORACLE\ORA92\OCI\L...

weixin_42535720的博客 238

OCCI入门(VC2010下配置) 32位测试通过

Oracle相关下载地址: http://www.oracle.com/technetwork/indexes/downloads/index.html  Instant Client是即时客户端,普通的客户端最高版本是11.2.0.1.0, 即时客户端支持到最新11.2.0.3.0 支持VC2010的类库下载(目前只支持11.2.0.3.0和11.2.0.3.0客户端): ht

865

VC++调试OCCI程序的关键设置

<br />VC++调试OCCI程序的关键设置<br /> <br />zz from: http://www.qingfengju.com/article.asp?id=226<br /> <br /><br />#define WIN32COMMON<br />//解决error C2995: 'getVector' : template function has already been defined<br />#include <occi.h><br />using namespace oracl

fxismonk的专栏 841

OCCI使用之一

 因为是在做多层体系,所以就得多考虑一下数据库访问的效率了,这次就选用了OCCI,没有想到的事,竟然调试时遇到个奇怪的问题,不能返回多条记录。现将解决过程记录如下,希望能给有类似情况的朋友一点帮助,也是给自己做个笔记。我装的Oracle 10g,编译器是VC++6设置如下:头文件目录:C:/oracle/10g/oci/include库文件目录:C:/oracle/10g/oci/lib/msvc

yunin的专栏 2686

vc++6.0中使用OCCI前的配置 链接oracle查询数据的示例

一 occi开发环境设置 1)打开VC6开发环境窗口,点击菜单“工具->选项”,弹出选项窗口,点击“目录”选项卡。在出现的对话框中,单击目录下拉列表,选中“ Include files”,添加路径“D:\ORACLE\ORA92\OCI\INCLUDE”(此文件夹在oracle的安装目录下)。然后在下拉列表,选中“library files” ,添加路径“D:\ORACLE\ORA92\OC

xiaocong1314的专栏 1319

OCCI

转贴_vc++ 编译 occi 接口的 环境设置 VC编译OCCI的解决方案 解决过程中,发现少有的解决方案也是零星和不详细的。 我把总结的成果共享一下吧,希望能对后来者有所帮助。   Windows下编译yield的步骤: 一、 安装必备软件 1、 安装Oracle客户端,其中会含有oci的库文件。 2、 安装MS Visual C++ 二、        修改源文件 1、增

kerwin_zxc的专栏 1474
上一篇: 使用Jasperreport作为报表控件开发Web报表应用
下一篇: BCB实现BLOB字段的读写
echo7L
博客等级 码龄16年 5粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值