Solaris下OCI连接Oracle数据库的实例

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情
//Compile: g++ -o getDBConnection testOCI.cpp -I$ORACLE_HOME/rdbms/demo -I$ORACLE_HOME/rdbms/public -lclntsh

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <oci.h>

int main(int argc,char** argv)
{
int nRet;
OCIEnv*      phOCIEnv;    //OCI环境句柄
OCIError*    phOCIErr;    //OCI错误句柄
OCISvcCtx*   phOCIConn;   //OCI数据库服务连接句柄

char acDBName[20],acUserName[20],acPwd[20];

//初始化OCI应用环境
nRet = OCIInitialize((ub4)OCI_DEFAULT,(dvoid*)0,(dvoid* (*)(dvoid*,size_t))0,(dvoid* (*)(dvoid*,dvoid*,size_t))0,(void (*)(dvoid*,dvoid*))0);
if(nRet)
{
printf("OCIInitialize() Failed: %d\n",(int)OCI_ERROR);
return (int)OCI_ERROR;
}

//初始化OCI环境句柄(由系统来负责分配OCI环境句柄)
nRet = OCIEnvInit(&phOCIEnv,(ub4)OCI_DEFAULT,(size_t)0,(dvoid**)0);
if(nRet)
{
printf("OCIEnvInit() Failed: %d\n",(int)OCI_ERROR);
return (int)OCI_ERROR;
}

//在OCI应用环境中依据OCI环境句柄来分配OCI的错误报告句柄
nRet = OCIHandleAlloc((dvoid*)phOCIEnv,(dvoid**)&phOCIErr,(ub4)OCI_HTYPE_ERROR,(size_t)0,(dvoid**)0);
if(nRet)
{
printf("OCIHandleAlloc() Failed: %d\n",(int)OCI_ERROR);
return (int)OCI_ERROR;
}

//建立与Oracle的连接
memset(acDBName,0,sizeof(acDBName));
memset(acUserName,0,sizeof(acUserName));
memset(acPwd,0,sizeof(acPwd));

strcpy(acDBName,"ora9");
strcpy(acUserName,"sxitismg");
strcpy(acPwd,"sxitismg");

//连接数据库
nRet = OCILogon(phOCIEnv,phOCIErr,&phOCIConn,(text*)acUserName,strlen(acUserName),(text*)acPwd,strlen(acPwd),(OraText*)acDBName,strlen(acDBName));
if(nRet)
{
printf("Connection Failed: %d\n\n",nRet);
exit(1);
}
printf("Connection OK: %d\n",nRet);

printf("执行一些SQL语句和数据库操作命令 ......\n\n");

//断开与数据库的连接
nRet = OCILogoff(phOCIConn,phOCIErr);
if(nRet)
{
printf("OCILogoff() Failed.\n\n");
}
else
{
printf("Connecttion closed.\n\n");
}
//连接已经断开,把连接句柄置为空
phOCIConn = NULL;

//销毁OCI应用环境与相关的句柄
if(phOCIErr)
{
OCIHandleFree((dvoid*)phOCIErr,OCI_HTYPE_ERROR);
printf("OCI错误报告句柄已经释放.\n\n");
}

if(phOCIEnv)
{
OCIHandleFree((dvoid*)phOCIEnv,(ub4)OCI_HTYPE_ENV);
printf("OCI环境句柄已经释放.\n\n");
}

printf("OCI环境释放结束.\n\n");
return 0;
}
Oracle OCI数据库连接实例 立即下载

相关推荐

简单的oci案例源码

一个入门的oci案例,实现了 增删改查操作,和插入二进制的操作,是一个容易的案例 一个入门的oci案例,实现了 增删改查操作,和插入二进制的操作,是一个容易的案例

在rhel8上使用soci连接oracle和postgresql和sqlite

使用soci连接oracle和postgresql和sqlite

hawanglc的博客 856

oracle自带的oci程序例子

oracle自带的oci程序例子,有的版本没有,就把这个放到这里来

c++ oci函数的基本使用

oci函数的基本使用 ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。 #引入库: #include &amp;lt;oci.h&amp;gt; #定义变量: OCIEnv *envhp; //环境句柄 OCIErro...

一度凡尘的专栏 3815

登陆solaris虚拟机上的oracle数据库.

Oracle/oracle 登陆到oracle用户中后,在提示符下打入以下命令:   bash-2.05$sqlplus /nolog   正常启动:sql&gt;conn sys/sys as sysdba;sql&gt;startup   打开监听程序 bash-2.05$lsnrctl LSNRCTL&gt; start   查找tns文件 bash-2.05$ cd $HOME/produ...

efish 342

solaris如何连接oracle,SolarisOCI连接Oracle数据库实例

//Compile:g++-ogetDBConnectiontestOCI.cpp-I$ORACLE_HOME/rdbms/demo-I$ORACLE_HOME/rdbms/public-lclntsh #include #include #include #include #include intmain(intargc,char**argv) {...

weixin_42131861的博客 217

关于在Solaris上进行配置Oracle环境的JDBC的方法的说明

在安装好了WAS和Oracle客户端的Solaris的操作系统的条件下进行配置JDBC连接的步骤:1.         进行修改root用户的.profile文件,增加root用户启动oracle程序的环境变量。需要增加的内容如下:设置ORACLE_HOME=/opt/oracle,设置LD_LIBRARY_PATH将其增加一个路径:LD_LIBRARY_PATH=$LD_LIBRAR

jxhty的专栏 1511

Solaris开始支持Docker,Oracle加入OCI阵营

7月31日,Oracle表示,旗下的操作系统Solaris将开始支持Docker,以增加对开源的Linux容器技术的支持。Solaris是Sun Microsystems研发的计算机操作系统。它被认为是UNIX操作系统的衍生版本之一。 目前Solaris属于混合开源软件。2009年,SUN公司被Oracle收购,Solaris和OpenSolaris一并归Oracle所有。OpenSolaris项...

weixin_34260991的博客 440

Solaris下PRO*C和OCI程序设计分析与比较

 摘要 文章对Solaris平台下,开发基于Oracle数据库的C程序的两种方法——PRO*C和OCI进行了研究,详细分析了这两种方法的开发流程,给出了较为具体的应用程序例子,并对两者的性能进行了比较。 关键词 SolarisOracle,PRO*C,OCI1引言数据库在软件开发中的应用越来越广泛,其中,Oracle可说是性能最强大、最稳定的数据库之一,大量的软件开发选择了Oracle。在开发语

幸福村的人 918

Solaris下PROC和OCI程序设计分析与比较

文章对Solaris平台下,开发基于Oracle数据库的C程序的两种方法——PRO*C和OCI进行了研究,详细分析了这两种方法的开发流程,给出了较为具体的应用程序例子,并对两者的性能进行了比较。 关键词 SolarisOracle,PRO*C,OCI 1引言 数据库在软件开发中的应用越来越广泛,其中,Oracle可说是性能最强大、最稳定的数据库之一,大量的软件开发选择了Ora...

227

OCI例子_OCI使用例子

OCI例子OCI使用例子,本断代码为OCI使用实例

oracle数据库path,oracle数据库path

oracle for linux安装报错 file /home/oracle/.Xauthority does not exist今天,一新手学oracle,安装完oracle数据库软件后,执行dbca时报错,核心错误是:file /home/oracle/.Xauthority does not exist然后,使用oracle用户登录数据库后,执行ls -a发现报错,bash:command...

weixin_28938701的博客 541

oracle 远程连接mysql数据库_Oracle远程连接数据库解决方案

=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.26.206)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))第二步:配置环境变量1. 右击”我的电脑” - “属性” - “高级” - “环境变量” - “系统环境变量”2. 选择”Path” ...

weixin_42511491的博客 446

Oracle Database 11g Release 2 Standard Edition and Enterprise Edition Software Downloads

Oracle11g 第2版 各个版本下载地址

Angel_He的专栏 1542

qoci连接oracle代码,终于编译好了qt的oracle驱动QOCI连接成功!!! | 学步园

这么多天以来终于有件事可以小舒畅了一下了。今天终于编译好了qt的oracle驱动QOCI连接成功!!!Qt Commercial版只自带了SQLLite和ODBC的驱动,oracle的驱动要自己编译,折腾了许久,终于成功了。具体如下:编译QOCI:1st:go to Qt’s Command Prompt window. (VS 2008下)2nd:set INCLUDE=%INCLUDE%;D...

weixin_32644319的博客 470

oracle8.1.5 for solaris 8 x86安装说明

oracle8.1.5 for solaris 8 x86安装说明Jason Chenhttp://www.jason314.comDec 2001    按照安装文档的说明,如果仅仅是安装oracle,不需要安装开发工具。软件及版本===========    solaris 8 for x86    oracle 8.1.5 for Intel unix 安装步骤========

Tunix126的专栏 1067
上一篇: Oracle常用的OCI函数
下一篇: hadoop
kingjo002
博客等级 码龄14年 11粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值