1、设置目录:
    打开“tools->Options”,转到“Directories”页,在"Show Directories for"中
       1) 选“Executable Files”,在列表中加入proc.exe的目录(ORACLE_HOME\bin),如:D:\Oracle\product\10.1.0\Client_1\BIN

2) 选“Include Files”,在列表中加入proc包含头文件的目录(ORACLE_HOME\PRECOMP\PUBLIC),如:D:\Oracle\product\10.1.0\Client_1\precomp\public

3) 选“Library Files”,在列表中加入proc Lib所在的目录(ORACLE_HOME\PRECOMP\LIB\MSVC),如:D:\Oracle\product\10.1.0\Client_1\precomp\LIB\msvc

2、建立一MFC工程

3、往工程中加入,Proc的源和头文件,例加:proc.pc、proc.h

4、右击 .pc 文件(如proc.pc),选择"settings...",进入到"project settings",然后选择Custom Build页:
    a) 在Commands下写入命令:proc  输入入文件名 oname=输出文件名(如:proc proc.pc oname=proc.cpp) ;

b) 在Outputs下写入输出文件名(如proc.c)。

5、编译工程,它将会自动预编译产生c/c++文件(如proc.cpp)

6、修改上一步产生的文件
    a) 把#include "stdafx.h"提到最前面(根据情况决定是否需要添加#include "stdafx.h");
    b) 把extern void sqlcxt (void **, unsigned long *,struct sqlexd *, const struct sqlcxp *);之类的函数的定义用下面的括起

#ifdef  __cplusplus
         extern "C" {
         #endif

extern void sqlcxt (void **, unsigned long *,struct sqlexd *, const struct sqlcxp *);

... ...

#ifdef  __cplusplus
         }
         #endif

6、把lib文件加入工程中:

project->settings->link-> object/library modules 中加入orasql10.lib(10g版本)

7、编译链接产生可执行文件

注:重编译整个工程时,别忘了第6步修改产生的文件。

附例程:

//------------------------------------------- pctest.pc ------------------------------------------------

#include <stdio.h>
#include <string.h>

EXEC SQL INCLUDE SQLCA;

int main()

{

EXEC SQL BEGIN DECLARE SECTION;

char user[20],pass[20],tnsname[20];

char enam[20];

int empn;

float sa;

EXEC SQL END DECLARE SECTION;

strcpy(user,"scott");

strcpy(pass,"tiger");

strcpy(tnsname,"oracle");

EXEC SQL CONNECT :user IDENTIFIED BY :pass USING :tnsname;

printf("connecting succesfull...\n");

EXEC SQL DECLARE emp_cur CURSOR FOR

SELECT empno,ename,sal FROM emp;

EXEC SQL OPEN emp_cur;

printf("cursor openning...\n");

while(1)
{
 EXEC SQL WHENEVER NOT FOUND DO break;
 EXEC SQL FETCH emp_cur INTO :empn,enam,sa;
 printf("%d,%s,%f\n",empn,enam,sa);
}

EXEC SQL CLOSE emp_cur;

EXEC SQL COMMIT WORK RELEASE;

return 0;

}

//---------------------------------- 编译 pctest.pc 后生成的pctest.c ---------------------------------------

略。

//-------------------------------------- 完 ------------------------------------------------

转载于:https://www.cnblogs.com/meronzhang/archive/2013/01/29/2881820.html

VC下使用Proc连接Oracle数据库相关推荐

  1. linux下php远程连接mysql_Linux下PHP远程连接Oracle数据库 | 系统运维

    说明: Web服务器环境:CentOS 5.8 32位+Nginx 1.2.3+Mysql 5.5.27+php 5.3.16 Web服务器IP:192.168.21.149 php源码编译目录:/u ...

  2. Windows下C语言连接Oracle数据库

    为什么80%的码农都做不了架构师?>>>    最近公司有个项目需要用到Oracle数据库,我负责前期的调研.由于项目要用到C和PHP两种语言,所以先收集这两种语言连接Oracle的 ...

  3. Windows 7下通过Excel2007连接Oracle数据库并对表查询

    1. 环境变量的设置 1.1  ORACLE_HOME环境变量的设置,我这里指向了我的Oracle 10g的客户端 ORACLE_HOME=C:\oracle\product\10.2.0\clien ...

  4. erlang odbc mysql参数_Erlang在Redhat 5.3下使用unixODBC连接Oracle数据库的配置

    个人在安装配置时遇到一些麻烦,特此记录如下: 环境 数据库服务器操作系统:Windows 2003 数据库:Oracle Database 10g Enterprise Edition Release ...

  5. win7 64位系统 PB连接oracle数据库出现问题的解决方法

    今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过"oracle library oci.d ...

  6. linux php连接orcel,Linux下PHP连接Oracle数据库

    Linux下PHP连接Oracle数据库2020-06-12 16:50:57 安装步骤: 一.安装oracle-instantclient 下载地址:http://www.oracle.com/te ...

  7. idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...

    intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...

  8. mfc通过ado链接oracle,VS2013环境下MFC通过ADO连接Oracle数据库 四步搞定

    这两天需要做有关MFC连接Oracle的项目,上网搜了老半天,东拼西凑,终于搞通了MFC下ADO方式连接Oracle的程序. 下面就按我新建的项目来进行一下说明(项目名称:adooracle) 第一步 ...

  9. win7 php oracle数据库,Win764位系统下PHP连接Oracle数据库,win7oracle_PHP教程

    Win7 64位系统下PHP连接Oracle数据库,win7oracle 下面讲下配置过程 一.下载oracle instantclient 下载地址:http://www.oracle.com/te ...

最新文章

  1. 某医院DFT SCSI 300GB *8 RAID5数据恢复成功
  2. 深入了解WM_SIZE
  3. CSS父级子级学习总结
  4. 面向对象的程序设计在游戏开发中使用(一):类
  5. arm 交叉编译找不到so_嵌入式杂谈之交叉编译
  6. java instance变量_java 类方法和实例方法 以及 类变量和实例变量
  7. 我的世界服务器怎么修改书与笔,我的世界书与笔怎么做 我的世界书与笔怎么用...
  8. 如何使用facenet详解_松下电吹风如何使用 松下电吹风使用方法及维护【详解】...
  9. 毛坯房验房留意事项及细节有哪些呢?
  10. idea里注释日期怎么_IDEA对类生成注释以及自己定义代码生成方式
  11. springboot框架学习理解上
  12. python之调用科大讯飞的在线语音识别
  13. 前端工程师最常用的字体图标库
  14. 丁小平:人类究竟需要什么样的微积分原理
  15. netkeeper客户端_Netkeeper校园客户端(创翼客户端)下载
  16. matlab仿真ppt,Matlab系列之Simulink仿真教程.ppt
  17. leetcode之动态规划刷题总结1(Java)
  18. mysql插入表情_向MySQL数据库中插入带emoji表情符的数据时报错
  19. poj 2044 weather forcast
  20. 2015年ACM长春区域赛比赛感悟

热门文章

  1. MySQL系列:数据库基本操作(1)
  2. truncate 、delete与drop三者的异同
  3. LINUX 下 配置MySQL数据库集群
  4. 程序员是如何捕猎大象的[转]
  5. php输出位置最右,php动态读取数据清除最右边距的方法
  6. php数据库--mysql优化
  7. 销售面销五个最基础步骤步骤_3个步骤,可提供强有力的反馈
  8. dropbox内容更改_Dropbox替代品,Git技巧,Linux技巧,DevOps必须阅读的内容等等
  9. 开源压缩算法brotli_Brotli:一种新的压缩算法,可加快互联网速度
  10. 开放式系统编程技术_使用开放式硬件构建更好的辅助技术