我写的简单的pro*c的例子
来源:互联网 发布:c语言void main 编辑:程序博客网 时间:2024/05/28 15:41
proc 例子
write by okcai
2004-6-18 13:53
环境:
硬件:HP 9000
软件:HP-UX B.11.11
1 修改PROC默认配置文件
INCLUDE:包括文件的目录路径,一般在CONFIG文件中配置,pcscfg.cfg中有默认定义。
SYS_INCLUDE:系统头文件所在目录,一般在CONFIG文件中配置,pcscfg.cfg中有默认定义。但要注意可能默认的系统头文件的路径不对。如
sys_include=($ORACLE_HOME/precomp/public,/usr/include,/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include)
USERID:用户名/口令 [@dbname] 连接串
pcscfg.cfg文件如下
sys_include=(/usr/include)
ltype=short
define=ORASTDARG
$ORACLE_HOME/precomp/admin/pcscfg.cfg
1.写个例子代码cai.pc,功能是查询手机号码13905718888的名称
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sqlda.h>
#include <sqlcpr.h>
EXEC SQL INCLUDE sqlca;
EXEC ORACLE OPTION (RELEASE_CURSOR = YES);
EXEC SQL BEGIN DECLARE SECTION;
char vName[30];
char vPass[30];
char vSvr[30];
char vCustName[60];
EXEC SQL END DECLARE SECTION;
#ifdef __cplusplus
extern "C"
#endif
void
#if defined(__STDC__) || defined(__cplusplus)
sql_error(char *msg)
#else
sql_error(msg)
char *msg;
#endif
{
printf("/n%s,%ld,%s/n",msg,sqlca.sqlcode,(char*)sqlca.sqlerrm.sqlerrmc);
EXEC SQL ROLLBACK RELEASE;
exit(-1);
}
#ifdef __cplusplus
extern "C"
#endif
int
main()
{
EXEC SQL WHENEVER SQLERROR DO sql_error("oracle error: ");
strcpy(vName,"aicbs");
strcpy(vPass,"aicbs");
strcpy(vSvr,"busi_cs");
printf("Start connect to database %s/%s@%s/n",vName,vPass,vSvr);
EXEC SQL CONNECT :vName IDENTIFIED BY :vPass USING :vSvr;
EXEC SQL SELECT CUST_NAME INTO :vCustName FROM CM_CUSTOMER WHERE CUST_ID = (SELECT /
CUST_ID FROM CM_USER WHERE BILL_ID = '13905718888');
printf("The Result of select,cust_name = %s/n",vCustName);
return 0;
}
2.预编译
proc cai.pc
3.编译,链接(编译环境是HP unix,其他操作系统 -l连接动态库方式需要修改)
cc cai.c -I $ORACLE_HOME/precomp/public -L $ORACLE_HOME/precomp/lib32 -L $ORACLE_HOME/lib32 -lclntsh
4.如果写为Makefile
cai:cai.pc
proc cai.pc
cc cai.c -I $(ORACLE_HOME)/precomp/public -L $(ORACLE_HOME)/precomp/lib32 -L $(ORACLE_HOME)/lib32 -lclntsh -o cai
- 我写的简单的pro*c的例子
- Pro*c的简单例子
- oracle PRO*C程序设计的一个例子
- 编译pro*c 的makefile例子
- Pro * C 简单例子
- c的简单例子
- 关于使用PRO*C编程的一些简单说明和例子
- 关于使用PRO*C编程的一些简单说明和例子
- 关于使用PRO*C编程的一些简单说明和例子
- 关于使用PRO*C编程的一些简单说明和例子
- 关于使用PRO*C编程的一些简单说明和例子
- 关于使用PRO*C编程的一些简单说明和例子
- 史上最简单的pro*c程序
- 写的委托的一个简单例子
- 关于FizzBuzz我写的例子
- 使用PRO*C编程的一些说明和例子
- C#写XML的简单例子
- 先写一个简单的例子
- Managing Incoming Information 续
- Man page of HAGRP
- 使用javascript+xml实现分页
- 金山词霸2003导致我的程序堆栈溢出错误
- 在tomcat下建立虚拟站点并配置mysql连接池
- 我写的简单的pro*c的例子
- 如何作一名成功创业者
- 数据库设计中的敏捷方法
- 掀开幕布看PDM-产品数据管理
- 面试中最重要的是什么!面试官关注的是你的技术吗?
- 关于在ultraEdit中写oracle存储过程,高亮度显示
- 这些天有用的
- Weblogic EJB 学习笔记
- plog_0.3.2_cn for php5安装指南