`
fanbina6
  • 浏览: 41386 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

redhat5 下 occi连接oracle数据库

阅读更多
1.下载对应的oracle-instantclient,例如:
 
  instantclient-basic-linux-11.2.0.3.0.zip  //包含动态链接库等
  instantclient-sdk-linux-11.2.0.3.0.zip  //包含开发所需的头文件等
  


2.通过WinScp上传至redhat5,例如用户为fanbin,目录为/home/fanbin/oracle,分别进行解压
 
  unzip instantclient-basic-linux-11.2.0.3.0.zip
  unzip instantclient-sdk-linux-11.2.0.3.0.zip
  ln -s instantclient_11_2 instantclient
  

   进入解压的目录
  ln -s libclntsh.so.11.1 libclntsh.so
  ln -s libocci.so.11.1 libocci.so

3.设置环境变量,例如在/home/fanbin根目录下:
  vi .bash_profile
  添加以下内容:
 
  ORACLE_HOME=/home/fanbin/oracle/instantclient
  export LD_LIBRARY_PATH=$ORACLE_HOME
  export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
  export TNS_ADMIN=$ORACLE_HOME
  PATH=/sbin:$PATH:$HOME/bin
  export PATH
  

 
4.在$ORACLE_HOME下创建tnsnames.ora,添加以下内容:
 
  fbdb =
  (DESCRIPTION =
    (FAILOVER = ON)
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.101)(PORT = 1521))
    )
    (CONNECT_DATA =
       (SID=fbdb) 
    )
  )
  

注意:需要根据数据库配置进行修改

5.上传测试代码,文件名为test.cpp,例如:
 
#include <iostream>
#include <occi.h>

//#pragma comment(lib,"oraocci11d.lib")

using namespace std;
using namespace oracle::occi;

int main()
{
	Environment *env=Environment::createEnvironment();//初始化occi环境

	//用户输入密码,名字,数据库
	string name = "fanbin";
	string pwd = "***";
	string dbname = "fbdb";
	string dbname = "fbdb";
	
        //用以下字符串就不用配置tnsnames.ora了
        //string dbname ="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=192.168.0.101) (PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=fbdb)))";
	//string dbname ="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=192.168.0.101) (PORT=1521)) (CONNECT_DATA=(SID=fbdb)))";

	try
	{
		Connection *conn=env->createConnection(name,pwd,dbname);//创建到oracle的连接

		cout<<"您已成功连接数据库!"<<endl;
		
		string strQuery("select * from test");
		
		Statement *stmt=conn->createStatement(strQuery);//创建查询语句

		ResultSet *rs;//创建记录集用于返回查询的结果
		rs=stmt->executeQuery();//执行查询语句
		
		//next用于从记录集中获取下一行数据
		while (rs->next())
		{
			cout<<rs->getInt(1)<<":"<<rs->getString(2)<<":"<<rs->getString(3)<<endl;
		}

		//删除
		stmt->setSQL("delete from test where id =:id");
		stmt->setInt(1,4);
		if(stmt->executeUpdate()==1)
		{
			cout<<"删除一条记录"<<endl;
		}
		else
		{  
			cout<<"记录不存在"<<endl;
		}

		//插入
		stmt->setSQL("insert into test values(:id,:key,:value2)");
		stmt->setInt(1,4);
		stmt->setString(2,"中");
		stmt->setString(3,"国");
		if(stmt->executeUpdate()!=1)
		{
			cout<<"插入失败"<<endl;
		}

		//修改
		stmt->setSQL("update test set key =:key where id=:id");
		stmt->setInt(2,4);
		stmt->setString(1,"中1");
		if(stmt->executeUpdate()!=1)
		{
			cout<<"修改失败"<<endl;
		}

		stmt->closeResultSet(rs);//关闭记录集
		conn->terminateStatement(stmt);//关闭语句
		env->terminateConnection(conn);//关闭连接
	}
	catch(SQLException e)
	{
		cout<<"fbin:"<<e.what()<<endl;//捕获错误
	}

	Environment::terminateEnvironment(env);//关闭环境

	return 0;
}
  

 
6.编译及运行
  编译:
  g++ test.cpp -I$ORACLE_HOME/sdk/include -L$LD_LIBRARY_PATH -lociei -lclntsh -lnnz11 -locci -g -o test
  运行:
  ./test
0
0
分享到:
评论

相关推荐

    redhat 7.6 安装oracle 19c版本数据库

    redhat 7.6 安装oracle 19c版本数据库

    Redhat Linux安装及Oracle数据库软件

    ### Redhat Linux安装及Oracle数据库软件知识点解析 #### 一、Redhat Linux系统安装与配置 **1. 安装前准备** - **系统版本**:Redhat Linux Enterprise 4。 - **内核版本**:2.6.9-5。 - **硬件要求**:内存至少...

    在Linux系统下Oracle数据库的安装及设计方案.pdf

    在RedHat 6.0环境下安装Oracle 8.0.5,需要安装kernel-2.2.5-15.1386.rpm和tcl-8.0.4-29.1386.rpm软件包。然后,需要调整Linux核心参数,编辑修改/usr/src/linux/include/asm/shmparam.h文件,修 改shmmax选项。 ...

    redhat下安装oracle

    以下是对"redhat下安装oracle"这一主题的详细解释。 首先,确保你的Red Hat系统满足Oracle数据库的基本硬件和软件需求。这通常包括特定版本的操作系统(例如,Red Hat Enterprise Linux),足够的内存和处理器资源...

    linux redhat5下安装oracle11g

    标题:Linux Redhat5 下安装 Oracle11g 描述:本文将根据作者的实际安装经验,提供一步步的安装指导,旨在帮助读者顺利地安装 Oracle 11g 在 Redhat 5 操作系统下。 标签:Linux Redhat5 Oracle 安装 VMware 安装...

    RedHat Linux 7安装Oracle 9i 数据库

    Oracle 9i数据库在RedHat Linux 7.2上的安装是一项复杂的任务,涉及到多个步骤和配置。以下是对这个过程的详细说明: 1. **概述**: Oracle 9i是Oracle公司的一个数据库版本,适用于Linux操作系统。在RedHat Linux...

    RedHat Linux下Oracle8i数据库安装图解入门

    4. 隐藏系统默认库:为了避免Oracle安装程序与系统默认库冲突,需要隐藏`/usr/bin`下的`gcc`、`cc`和`ld`,以及`/usr/lib`下的某些动态链接库。 5. 创建用户和目录:创建`orcl`用户和`dba`、`oinstall`用户组。然后...

    oracle在redhat下的详细安装,以及本机连接虚拟机

    本文将详细解读在RedHat Linux环境下安装Oracle数据库的步骤以及解决过程中遇到的问题,并提供如何在本机连接虚拟机中的Oracle服务器的教程。 首先,要成功安装Oracle数据库,需要进行一系列的准备工作,包括硬件和...

    linux上离线安装oracle数据库19c

    在Linux环境下离线安装Oracle数据库19c是一个涉及多个步骤的过程,需要准备相应的安装文件,并且对系统进行预安装配置。以下是对整个流程的详细解释: 1. **文件准备** - `compat-libstdc++-33-3.2.3-72.el7.x86_...

    Oracle数据库双机热备方案

    Oracle 双机热备方案是指运用适当的拓扑结构将两台数据库连接起来,以主-从的方式实现数据库热备份。该方案可以避免由数据库崩溃而给前端服务造成损失。 一、数据库双机热备的概念和原理 数据库双机热备是指运用...

    centos上安装oracle数据库

    - 使用命令`vim /etc/redhat-release`或`vi /etc/centos-release`将当前版本标识更改为“Red Hat Enterprise Linux 6”,以适应Oracle数据库的要求。 2. **更新系统** - 执行`yum list updates`检查可用更新。 - ...

    redhat5.5下安装oracle11g数据库

    在Red Hat Linux 5.5环境下安装Oracle 11g数据库是一个复杂的过程,涉及到操作系统配置、依赖包安装、系统安全设置等多个环节。以下是对整个流程的详细解释: 首先,安装Red Hat Linux 5.5操作系统是整个过程的基础...

    000_RedHat6.5系统Oracle11gR2数据库安装教程_完整可用版

    5. **配置 Oracle 数据库**: - 安装完成后,你需要配置数据库实例,包括创建数据库、设置监听程序、创建用户和权限等。监听程序是数据库与客户端通信的关键组件,需要正确配置监听.ora 文件和 tnsnames.ora 文件。...

    RedHat AS4上安装oracle10g并创建使用oracle数据库

    在Red Hat AS4上安装Oracle 10g数据库是一个涉及多步骤的过程,主要涉及系统配置、依赖包安装、用户和组设置、内核参数调整以及实际的安装过程。以下是详细的步骤解析: 首先,确保系统已经安装了Oracle 10g所需的...

    RedHat_Linux6.3下Oracle_11g安装图解教程

    安装完成后,需要测试运行安装的Oracle系统,包括测试数据库连接、测试SQL语句执行等。 本教程指导读者在RedHat_Linux6.3环境下安装Oracle_11g数据库,涵盖了安装Linux操作系统、配置Linux系统下的Oracle安装环境、...

    脱机下RedHat7.6安装Oracle11g详细攻略.pdf

    RedHat7.6操作系统环境下安装Oracle 11g R2数据库的详细步骤和关键知识点如下: 一、OS环境准备: 1. 配置本地yum源: - 创建本地yum源配置文件`redhat-base.repo`。 - 指定本地安装介质的路径,并设置为yum源。 ...

    redhat linux下设置oracle随操作系统自动启动的方法.docx

    "RedHat Linux下设置Oracle随操作系统自动启动的方法" 本文档将指导读者如何在RedHat Linux操作系统中设置Oracle数据库随操作系统自动启动。下面是相关的知识点: 一、修改/etc/oratab文件 在RedHat Linux操作...

    oracle9i在redhat5下的安装

    在RedHat 5环境下,需要为Oracle数据库创建专用的用户和组。执行以下命令: ```shell # groupadd oinstall # groupadd dba # useradd -g oinstall -G dba oracle # passwd oracle ``` 其中,`oinstall`和`dba`分别...

Global site tag (gtag.js) - Google Analytics