Linux环境下proc的配置c/c++操作数据库简单示例
在虚拟机上装了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++操作数据库简单示例的更多相关文章
- 【环境配置】Linux环境下下载、配置java环境、安装eclipse、建立eclipse快捷方式详解
一.首先是下载Java JDK 到目前为止的最新版本为(jdk1.8.0_60),有两种方式进行下载: 1.使用shell来进行下载,可使用如下命令直接进行下载: wget --no-check-ce ...
- Windows环境和Linux环境下Redis主从复制配置
Windows环境下和Linux环境下配置Redis主从复制基本上一样,都是更改配置文件.Windows环境下修改的配置文件是:redis.windows.conf.redis.windows-ser ...
- Linux环境下安装、配置Redis
linux下安装redis 官网下载链接:https://redis.io/download 安装 下载redis压缩包 1.选择Stable(5.0)下的Download 5.0.0 链接进行下载 ...
- Linux环境下Redis安装配置步骤[转]
在LInux下安装Redis的步骤如下: 1.首先下载一个Redis安装包,官网下载地址为:https://redis.io/ 2.在Linux下解压redis: tar -zxvf redis-2. ...
- 在linux环境下为eclipse配置jdk以及Tomcat服务(附图解详细步骤)
环境:jdk8,Tomcat7,eclipse 需要先在linux上安装好对应的软件及java环境,如果还没有安装的,可以先去看我之前写的两篇博客:ubuntu/linux中安装Tomcat(附图解详 ...
- [Python学习] Linux环境下的Python配置,必备库的安装配置
1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...
- 在Linux环境下安装和配置phpmyadmin
phpmyadmin是一种MySQL的图形化管理工具,该工具允许你在web界面上管理你的mysql数据库,不可谓不方便快捷. 此次安装与配置是在centos 6.4系统下,该系统已部署lnmp环境.关 ...
- Linux环境下使用xampp配置php开发环境
XAMPP (Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.这个软件包原来的名字是LAMPP,但是为 了避免误 解,最新的几个版本就改名为 XAMPP 了.它可以在Win ...
- linux环境下Nginx的配置及使用
切换到目录/usr/local/nginx/sbin,/usr/local为nginx的默认安装目录 #启动 ./nginx #查看命令帮助 ./nginx -h 验证配置文件状态 ./nginx - ...
随机推荐
- 转载:15个最受欢迎的Python开源框架
出自:http://python.jobbole.com/72306/?replytocom=57112 15个最受欢迎的Python开源框架 Django: Python Web应用开发框架 Dja ...
- 第二章 入门(MyBatis)
本章将会以简略的步骤告诉你如何安装和创建 MyBatis-Spring,并构建一个简单的数据访问事务性的应用程序. Installation 要使用 MyBatis-Spring 模块,你只需要包含 ...
- 笔记:php有那几种错误提示和查错方法
php有哪几种错误提示 1.notice : 注意 2.waring : 警告 3.error : 错误 PHP中都有哪几种查错方法? 1.语法检查--php配置文件里,把错误显示选项都打开或者代码开 ...
- GIS-007-Terrain跨域访问
方法一: 在数据服务目录中添加一个Web.config文件,文件内容是: <?xml version="1.0" encoding="UTF-8"?> ...
- help()
help() 用于查看函数或模块的帮助信息 In [1]: help(id) # 查看id()这个函数的帮助信息,注意不要写成help(id()) id(...) id(object) -> i ...
- 苹果降频门:旧款iPhone哪些功能受到影响
要说苹果最近发生的大事,就数网络上传的沸沸扬扬的降频门事件了,近期苹果在新发布的iOS 11系统中新增了一项功能,意在降低旧款手机的电量消耗,但限制了旧款iPhone的性能,那么iPhone有哪些功能 ...
- Spring学习笔记--Spring表达式语言SpEL
Spring3引入了Spring表达式语言(Spring Expression Language,SpEL).SpEL是一种强大的.简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean ...
- option 选不中问题
function appAndBuz(appName,buzName,areaCenterCode){ //appName,buzName下拉框的值start $.ajax({ type: " ...
- 如何打开或关闭windows的测试模式
百度经验:jingyan.baidu.com windows的测试模式就如同字面意思一样,是一个测试用的模式.这个模式的标志主要在有非官方驱动或系统关键文件运行时显示.例如安装了大内存补丁(32位系统 ...
- 《转》python学习(8)元组
转自 http://www.cnblogs.com/BeginMan/p/3156235.html 一.元组特性 1.类似列表,但不可变类型,正因如此,它可以做一个字典的key2.当处理一组对象时,这 ...