在虚拟机上装了oracle11g数据库,原本想利用c/c++学习操作数据库.结果感觉摊上了一个大坑.从安装好oracle数据库到配置好proc的编译选项整整花了二天.但让我意识到自己自己几点薄弱:1.对Linux的命令和脚本的使用不够熟练.2.对Linux的个文件夹的作用不够了解;(打算下次补充一篇这样的总结博客.)3.英文还是很差劲的我.好入真题.

  由于我引进配置好了,不想在折腾了,所以就没有在重现错误,只是说一下思路和配置文件的内容.

  1.oracle用户根目录下的.bash_profile的作用是:~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc.

  所以先配置.bash_profile文件由于安装目录不同要相应改动.

  

 .bash_profile

   # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs
umask 022
ORACLE_BASE=/u01/
ORACLE_HOME=$ORACLE_BASE/oracle/
OACLE_SID=orcl
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
#LANG=C
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG
~

  2.还有就是配置precomp/admin文件夹下的pcscfg.cfg主要是加上proc的库文件及oracle的home目录

 sys_include=/u01/precomp/public

sys_include=/u01/oracle
sys_include=/usr/include
sys_include=/u01/oracle/lib/
code=cpp
cpp_suffix=cc
parse=none ORACLE_BASE=/u01/
ORACLE_HOME=$ORACLE_BASE/oracle/
export ORACLE_BASE ORACLE_HOME  

 

  3.oracle数据的启动和关闭

  sqlplus /scott/password
  startup                      --启动数据库
  shutdown immediate   --关闭数据库
 
  4.启动监听
  lsnrctl

  5.proc编译.pc文件
  proc dm01_hello.pc
  Pro*C/C++: Release 11.2.0.1.0 - Production on Tue Oct 11 11:20:50 2016
  Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
  System default option values taken from: /u01/oracle/precomp/admin/pcscfg.cfg

  6.编译生成的.cc文件  记得加上相应的头文件路径之后工程化编写可写成makefile的形式

  g++ dm01_hello.cc -o  dm01_hello -I /u01/oracle/precomp/public/ -L /u01/oracle/lib/ -lclntsh

  相应的dm01_hello.pc文件

#include <stdio.h>
#include <string.h>
#include <string.h>
#include "sqlca.h" EXEC SQL BEGIN DECLARE SECTION;
char *serverid = "scott/000110@orcl";
EXEC SQL END DECLARE SECTION; int main()
{
int ret = ;
printf("hello....\n");
printf("serverid:%s \n", serverid);
EXEC SQL connect :serverid;
if (sqlca.sqlcode != )
{
ret = sqlca.sqlcode;
printf("EXEC SQL connect:err, %d\n", ret);
return ret;
}
printf("connect ok\n");
return ret;
}

  7.结果: 

  [oracle@disdader day3]$ ./dm01_hello
  hello....
  serverid:scott/000110@orcl
  connect ok

  

Linux环境下proc的配置c/c++操作数据库简单示例的更多相关文章

  1. 【环境配置】Linux环境下下载、配置java环境、安装eclipse、建立eclipse快捷方式详解

    一.首先是下载Java JDK 到目前为止的最新版本为(jdk1.8.0_60),有两种方式进行下载: 1.使用shell来进行下载,可使用如下命令直接进行下载: wget --no-check-ce ...

  2. Windows环境和Linux环境下Redis主从复制配置

    Windows环境下和Linux环境下配置Redis主从复制基本上一样,都是更改配置文件.Windows环境下修改的配置文件是:redis.windows.conf.redis.windows-ser ...

  3. Linux环境下安装、配置Redis

    linux下安装redis 官网下载链接:https://redis.io/download 安装 下载redis压缩包 1.选择Stable(5.0)下的Download 5.0.0 链接进行下载 ...

  4. Linux环境下Redis安装配置步骤[转]

    在LInux下安装Redis的步骤如下: 1.首先下载一个Redis安装包,官网下载地址为:https://redis.io/ 2.在Linux下解压redis: tar -zxvf redis-2. ...

  5. 在linux环境下为eclipse配置jdk以及Tomcat服务(附图解详细步骤)

    环境:jdk8,Tomcat7,eclipse 需要先在linux上安装好对应的软件及java环境,如果还没有安装的,可以先去看我之前写的两篇博客:ubuntu/linux中安装Tomcat(附图解详 ...

  6. [Python学习] Linux环境下的Python配置,必备库的安装配置

    1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...

  7. 在Linux环境下安装和配置phpmyadmin

    phpmyadmin是一种MySQL的图形化管理工具,该工具允许你在web界面上管理你的mysql数据库,不可谓不方便快捷. 此次安装与配置是在centos 6.4系统下,该系统已部署lnmp环境.关 ...

  8. Linux环境下使用xampp配置php开发环境

    XAMPP (Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.这个软件包原来的名字是LAMPP,但是为 了避免误 解,最新的几个版本就改名为 XAMPP 了.它可以在Win ...

  9. linux环境下Nginx的配置及使用

    切换到目录/usr/local/nginx/sbin,/usr/local为nginx的默认安装目录 #启动 ./nginx #查看命令帮助 ./nginx -h 验证配置文件状态 ./nginx - ...

随机推荐

  1. 【Java面试题】46 描述一下JVM加载class文件的原理机制?

    JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件中的类.  由于Java的跨平台性,经过 ...

  2. MySQL数据库行去重复

    1.创立数据表

  3. linux配置java环境

    第一步: vim /etc/profile 第二步:添加以下4行 第三步:使配置生效 source /etc/profile 结束配置

  4. jquery把int类型转换成字符串类型的方法

    jQuery中把获取的number类型数据转换成字符串类型 var val=$(“#id).val(); If(typeof val==”number”){ val+=' '; }

  5. 解决RaycastTarget勾选过多的烦恼

    看过UGUI源码的朋友一定都知道,UI事件会在EventSystem在Update的Process触发.UGUI会遍历屏幕中所有RaycastTarget是true的UI,接着就会发射线,并且排序找到 ...

  6. Unity3D工程源码目录

    2-0    暗黑破坏神3 链接:http://pan.baidu.com/s/1dEAUZoX 密码:cly4 2-1    炉石传说 客户端加服务器端 链接:http://pan.baidu.co ...

  7. 如何用MathType快速输入公式

    我们在写论文的时候,如果涉及到数学公式的话,我们一般都会使用MathType软件,但同时对于一些新手来说不太用使用此款软件,输入公式时就会很慢,今天教大家如何利用MathType快速输入公式. 具体方 ...

  8. Http post请求数据带中文参数问题

    Http请求参数带中文参数时,如{"userName":"用户名123","password":"123456"} 请求 ...

  9. mysql数据库中,flush logs语句的作用是什么呢?

    需求描述: 今天在研究mysql数据库的备份和恢复,用到了flush logs这个SQL语句. 所以,在此进行测试,并且记录该SQL语句的作用. 概念描述: 在mysql数据库,如果数据库启动的时候, ...

  10. 发布订阅者模式之C#委托实现

    1                                                                                                    ...