zoukankan      html  css  js  c++  java
  • visual studio2015 搭建pro*c开发编译环境

    关于pro*c是什么,这里不做介绍,主要说明如何在vs2015里面开发pro*c程序,并编译exe执行文件

    一、vs2015环境配置

    1、新建一个空的vc++项目,如下图

    2、右击项目属性,添加相关的头文件目录和lib文件目录

    选择vc++目录选项,主要添加的有三个地方,如下图

    头文件添加,如下图两个,注意要根据自己oracle实际目录,但目录后半部分都一样

    lib文件添加

     因为预编译使用到oracle的proc.exe工具,所以还要进行下图添加

     

    这个路径就是你的proc.exe文件所在的目录

    3、添加linker文件

    添加orasql11.lib文件

    到此vs2015环境搭建完成

    二、在项目添加文件编写代码

    1、

    右击源文件 添加新文件 选择txt 命名问proc.pc,添加完后如下图

    2、右击proc.pc文件

    item type 选择custom build tool ,然后点击应用,出现下图

    在commandline填写proc $(TargetName) ;outputs:$(IntDir)$(TargetName).c 

    接下来就是激动的时刻了,在proc.pc文件里面开始编写pro*c代码

    写个连接数据库的代码:

    #include <stdio.h>
    #include <string.h>
    #include <sqlca.h>
    void sql_error();
    int main()
    {
    EXEC SQL BEGIN DECLARE SECTION;
    char *username = "SCOTT";
    char *password = "123456";
    int empno = 12;
    char *ename ="小明 ";
    char *job = "总统 ";
    float sal = 80000;
    int deptno = 30;

    /*char SQLSTATE[6];*/
    EXEC SQL END DECLARE SECTION;
    exec sql whenever sqlerror do sql_error();

    EXEC SQL CONNECT :username IDENTIFIED BY :password;
    exec sql insert into emp(empno,ename,job,sal,deptno)values(:empno,:ename,:job,:sal,:deptno);
    printf(sqlca.sqlerrm.sqlerrmc);
    /*exec sql delete emp where empno = 12;*/
    EXEC SQL COMMIT WORK RELEASE;
    _getch();
    }
    void sql_error()
    {
    char msg[200];
    size_t buf_len,msg_len;
    buf_len = sizeof(msg);
    sqlglm(msg,&buf_len,&msg_len);
    if(msg_len > buf_len)
    msg_len = buf_len;
    printf("%.*s ",msg_len,msg);
    }

    3、右击proc.pc文件开始编译

    编译结果:

    哇 编译成功了,那编译后生成的文件在什么地方呢?还记得上面设置outputs属性吗$(IntDir)$(TargetName).c ,到相应的目录下查找

     果然在这,然后把这个文件添加到源文件里面,结构如下

    然后右击proc.pc文件 编译

    这个时候再点击整个项目编译出exe文件

    项目build成功

    此时生成了相应的exe文件,

     

     点击运行查看数据库连接情况

    说明数据库连接成功

  • 相关阅读:
    读本地json的方法
    告诉你如何应对HR索要薪资证明!
    函数声明与函数表达式
    原型的动态性
    工作实际需求andjs进阶图书
    表单元素操作,button,点击下载按钮实现-长知识
    grunt注意要点
    重新认识块级元素--DIV
    GO语言学习:变量间赋值
    GO语言学习:单通道
  • 原文地址:https://www.cnblogs.com/tianmochou/p/11978070.html
Copyright © 2011-2022 走看看