linux环境下学习使用pro*c/c++工具

1.proc是oracle用来预编译嵌入SQL语句的c程序。

2.如何使用proc工具

在Linux环境下,首先确保gcc编译器正常使用,安装oracle数据库或者客户端,一般就会默认安装pro*c/c++工具。确保proc正常使用需要配置以下环境变量,这些环境变量一般配置在(.profile)文件里,修改.profile文件后要执行(source .profile)或(. .profile)

1 ORACLE_BASE=/suseDba/oracle
2 ORACLE_HOME=$ORACLE_BASE/product/11.1.0
3 ORACLE_SID=orcl_test
4 PATH=$ORACLE_HOME/bin:$PATH
5 LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$LD_LIBRARY_PATH
6 export  ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH

3.环境配置好以后就可以编程练习,首先写一个proc 将要预编译的程序,命名为login.pc

 1 [email protected]:~/proctest> cat login.pc
 2 #include <stdio.h>
 3 #include "sqlca.h"
 4
 5 EXEC SQL BEGIN DECLARE SECTION;
 6         char user[] = "scott";
 7         char pass[] = "scott";
 8 EXEC SQL END DECLARE SECTION;
 9
10 int main(void)
11 {
12         EXEC SQL CONNECT :user IDENTIFIED BY :pass;  /**连接数据库**/
13
14         if(sqlca.sqlcode == 0)
15                 printf("success!\n");
16         else
17                 printf("error!\n");
18
19         EXEC SQL COMMIT RELEASE;  /**释放数据库连接**/
20
21         return 0;
22
23 }

用proc 预编译 login.pc

[email protected]:~/proctest> proc login.pc

Pro*C/C++: Release 11.2.0.1.0 - Production on 星期二 5月 12 18:06:26 2015

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

系统默认选项值取自于:  /suseDba/oracle/product/11.1.0/precomp/admin/pcscfg.cfg

[email protected]:~/proctest> ls
login.c  login.lis  login.pc

用gcc 编译 login.c

[email protected]:~/proctest> gcc login.c -o login -I $ORACLE_HOME/precomp/public -L $ORACLE_HOME/lib -l clntsh
[email protected]:~/proctest> ls
login  login.c  login.lis  login.pc
[email protected]:~/proctest> ./login
success!

 -I 指定头文件路径, -L  指定库路径,  -l 指定链接动态库名称 
时间: 2024-10-12 09:04:29

linux环境下学习使用pro*c/c++工具的相关文章

linux环境下配置jdk+tomcat环境

最近在学习java,其中最重要的一项是将jdk 环境配置好,同时在jdk中结合tomcat开发基于应用,所以在这里记录下. 配置环境: 系统环境:centos 6.3  64位 ,jdk:jdk-6u29-linux-x64.bin ,  tomcat:apache-tomcat-6.0.35.zip  这里需要注意的地方是  jdk 安装时要和系统位数相同,这里我的系统是64位所以这里使用的是jdk 64 位. 开始配置: 这里我将要安装的软件,上传到/usr/loca/目录下,使用 rz 

【原创】Linux环境的图形系统和AMD显卡驱动编程(1)——Linux环境下的图形系统简介

Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后.开源社区开发开发了一些新的图形系统,比如Wayland图形系统. 由于图形系统.3D图形本身的复杂以及历史原因,Linux下的图形系统相关的源码庞大而且复杂,而且缺少学习的资料(所有源代码分析或者驱动编程的书籍都很少介绍显卡驱动).在后续一系列文章中,笔者将从对AMD硬件编程的角度出发对部分问题做一个简单的

由一个简单需求到Linux环境下的syslog、unix domain socket

本文记录了因为一个简单的日志需求,继而对linux环境下syslog.rsyslog.unix domain socket的学习.本文关注使用层面,并不涉及rsyslog的实现原理,感兴趣的读者可以参考rsyslog官网.另外,本文实验的环境实在debian8,如果是其他linux发行版本或者debian的其他版本,可能会稍微有些差异. 需求: 工作中有一个在Linux(debian8)环境下运行的服务器程序,用python语言实现,代码中有不同优先级的日志需要记录,开发的时候都是使用pytho

Linux环境下段错误的产生原因及调试方法小结(转)

最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且 项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个对于“段

LInux环境下Eclipse + Tomcat + MySQL 配置J2EE开发环境的方法

上一篇博文里总结了面向对象三大特性在Java中的体现,现在谈一谈Java中的抽象类,接口,内部类等特性. 一. 抽象类 public abstract class Shape { public int shapeID = 0; public abstract double getArea(); } Java中允许类.接口或成员方法具有抽象属性,而不允许成员域或构造方法具有抽象属性. 类修饰词中含有abstract的类具有抽象属性,称为抽象类:接口总是具有抽象属性. 如果成员方法的修饰词中含有ab

Linux环境下段错误的产生原因及调试方法小结

最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个对于“段错

【转】【调试技巧】Linux环境下段错误的产生原因及调试方法小结

本文转自:http://www.cnblogs.com/panfeng412/archive/2011/11/06/segmentation-fault-in-linux.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误

Linux环境下段错误的产生原因及调试方法小结(转载)

转载自http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间 最长的问题就是著名的“段错误”(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超

Linux环境下的图形系统和AMD R600显卡编程(1)——Linux环境下的图形系统简介

转:https://www.cnblogs.com/shoemaker/p/linux_graphics01.html Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后.开源社区开发开发了一些新的图形系统,比如Wayland图形系统. 由于图形系统.3D图形本身的复杂以及历史原因,Linux下的图形系统相关的源码庞大而且复杂,而且缺少学习的资料(所有源代码