05-Ubuntu开发proc/c++
来源:互联网 发布:capvision凯盛 知乎 编辑:程序博客网 时间:2024/04/30 05:34
一、安装ubuntu下的oracle数据库。
二、在终端中配置环境变量。
export ORACLE_HOSTNAME=localhost;export ORACLE_BASE=/opt/oracle;export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;export ORACLE_SID=orcl;export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/libexport NLS_LANG="Simplified chinese_china.al32utf8"
三、在终端中输入命令测试:
1、查看
ORACLE_HOME:
echo ${ORACLE_HOME}
2、查看ORACLE_SID:
echo ${ORACLE_SID}
3、如果上述没有问题,则在终端启动sqlplus看看能否运行。
1)sqlplus /nolog
2) connect /as sysdba
3) startup(启动sql相关服务)
4) shutdown immediate --如果启动失败,就关闭,开启监听
5)lsnrctlstart
6) startup(重启sql服务)
注:如果还是失败,就将错误代码记录下来:【oerr ora 数字】(查询错误原因)
4、假设这里可以用自己的账户登录数据库了。接下来我们就可以进行proc开发了四、开发proc
proc是通过c/c++语言操作数据库的方法。在两个平台之间,肯定要有一个中间桥梁来连接,这就是proc的由来。(个人理解,请指正)
所以,编译的过程分两步:(这里假设有hello.pc这个文件)
1、将.pc文件(这个文件的代码中加入了oracle语句,所以又称为嵌入式sql)转化为.c文件
命令:proc hello.pc (会生成两个文件, hello.c 和 hello.lis)
注:这里会爆出一个错误。
原因:因为使用命令proc(/home/oracle_11/app/oracle/product/11.2.0/db_1/bin/下,上面配置环境中以申明),sql会查找自己oracle的配置文件中写的路径(/home/oracle_11/app/oracle/product/11.2.0/db_1/precomp/admin/pcscfg.cfg),发现没有这个头文件stddef.h所在的路径。
解决方法:查看下自己系统的stddef.h存放位置,将路径添加到/home/oracle_11/app/oracle/product/11.2.0/db_1/precomp/admin/pcscfg.cfg文件中去。
命令:locate stddef.h(which where自己可以试试看,也是查找命令的路径的)例如我的显示:
/usr/lib/gcc/x86_64-redhat-linux/4.4.4/include/stddef.h
2、利用gcc编译工具编译.c文件。(因为这个.c文件中加入sql的语法,所以要告诉gcc编译器sql自己的库路径,库名称,以及头文件)
命令:gcc dm01_hello.c -o dm01_hello \
-I/home/oracle_11/app/oracle/product/11.2.0/db_1/precomp/public \
-L/home/oracle_11/app/oracle/product/11.2.0/db_1/lib -lclntsh
至此,在Ubuntu下开发proc/c++的环境就完成了。
- 05-Ubuntu开发proc/c++
- proc*c 开发的交流怎么这么少
- linux下oracle11g proc*c开发环境搭建
- linux c读取proc
- kernel/proc.c
- kernel/proc.c
- linux c shell proc
- PROC*C编程基础
- proc/c++(二)
- proc/c++(三)
- ORACLE PROC开发
- ubuntu C开发环境搭建
- ubuntu下开发c/c++
- proc/c++(一) 快速上手
- proc c编译失败解决办法
- Oracle Proc/OCI/OCCI 开发
- 《Linux设备驱动开发详解》源码——proc/proc
- ubuntu /proc/bus/usb 没有的解决方法
- Web(瓦片)地图的工作原理
- c++中虚函数继承,虚表剖析
- Android Hybird 原生和网页通讯框架实践
- ABAP解析XML的示例程序,COPY可运行
- 接口的作用
- 05-Ubuntu开发proc/c++
- HashMap和HashSet的区别
- 欧几里德求最大公约数(辗转相除法)
- session 和 coonkie 的区别于联系
- debian 下设置documentRoot项目目录
- linux通过端口号查找程序执行路径
- Java集合---ArrayList的实现原理
- 画PCB时的注意点
- iis 配置后外网不能访问的解决方法