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 ="小明\n";
char *job = "总统\n";
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\n\n",msg_len,msg);
}
3、右击proc.pc文件开始编译

编译结果:

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

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

然后右击proc.pc文件 编译

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


项目build成功
此时生成了相应的exe文件,

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

说明数据库连接成功
visual studio2015 搭建pro*c开发编译环境的更多相关文章
- windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境
windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境 http://rongmayisheng.com/post/windows%E4%B8%8B%E7%94%A ...
- 利用 Docker 构建一个简单的 java 开发编译环境
目前 Java 语言的版本很多,除了常用的 Java 8,有一些遗留项目可能使用了 Java 7,也可能有一些比较新的的项目使用了 Java 10 以上的版本.如果想切换自己本地的 Java 开发环境 ...
- Linux下搭建 Cocos2d-x-2.1.4 编译环境
[tonyfield 2013.09.04 ] 参考 Linux下搭建 Cocos2d-x-2.1.4 编译环境 导入 HelloCpp 例程 1. Java 入口 HelloCpp.java Hel ...
- C++ 函数模板与类模板(使用 Qt 开发编译环境)
注意:本文中代码均使用 Qt 开发编译环境,如有疑问和建议欢迎随时留言. 模板是 C++ 支持参数化程序设计的工具,通过它可以实现参数多态性.所谓参数多态性,就是将程序所处理的对象的类型参数化,使得一 ...
- Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子
[学习笔记] Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子: 在eclipse oxygen上创建一个普通的java项目,然后把spark ...
- 干货分享:在Windows下使用Visual Studio搭建C语言开发环境
前言:本文将教大家如何使用 VIsual Studio Code 搭建 C 语言开发环境,包括使用 VS Code 如何编译和调试 C 语言程序,需要 用到的工具有 Visual Studio Cod ...
- Visual Studio Code (VSCode) 配置 C/C++ 开发编译环境
前言 工作多年,突然发现很多C++的基础都忘记了,加之C++不断更新换代后的各种新特性,于是想重拾C++的基础学习.虽然现在工作都是Linux平台,但考虑到个人方便,自己也仅仅想重温语法,家里家外都可 ...
- [ubuntu]android SDK 与Gradle环境的安装与配置|搭建android基础开发/构建环境
系统环境: linux:ubuntu18 已配置jdk 环境变量 切换到root账户 sudo su 安装Android-sdk (0)准备工作 切换到/usr/local目录: /usr/local ...
- 搭建Node.js开发IDE环境WebStrom5 多图
1.下载前期准备 node.js下载地址 http://nodejs.org/ WebStrom5下载地址: http://download-ln.jetbrains.com/webide/WebSt ...
随机推荐
- java调用exe,及调用bat不成功的解决办法
开门见山的说,文件目录如下 想调用123.exe,但是尝试了几次调用不到,然后写了个bat.初始内容如下 @echo off D: cd test "123.exe" 双击可以运行 ...
- JVM | JVM的核心技术
说到JVM,很多工作多年的老铁,可能就有点发憷了,因为搬砖多年,一直使用java这个工具,对于JVM没有了解过,有句话面试造航母,上班拧螺丝,要啥自行车啊,知道如何搬砖就可以了,为啥要懂这么多,如果你 ...
- nginx 反向代理实现负载均衡*配置实战
重要点: 1配置反向代理多虚拟主机节点服务器 2经过反向代理后的节点服务器记录用户IP 3与反向代理配置相关的更多参数说明 4根据URL目录地址转发 (1)根据URL中的目录地址实现代理转发(动静分离 ...
- css sprite 雪碧图
使用雪碧图的目的:有时为了美观,我们会使用一张图片来代替一些小图标,但是一个网页可能有很多很多的小图标,浏览器在显示页面的时候,就需要像服务器发送很多次访问请求, 这样一来,一是造成资源浪费,二是会导 ...
- python从入门到放弃之Tensorflow(一)
Tensorflow使用错误集锦: 错误1 : FutureWarning: Conversion of the second argument of issubdtype from ‘float’ ...
- C语言处理CSV数据
以下代码为博客 <Python的并行求和例子>: http://www.cnblogs.com/instant7/p/4312786.html 中并行python代码的C语言重写版. 用C ...
- linux安装sz、rz的方法,及安装zip
Linux系统下安装rz/sz命令及使用说明 对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_5-07 断路器dashboard监控仪表
笔记 7.断路器Dashboard监控仪表盘实战 简介:讲解断路器Dashboard基础使用和查看 1.加入依赖 <dependency> ...
- k8s创建资源的两种方式(5)
一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=reg ...
- 一个简单的C共享库的创建及Python调用此库的方法
/********************************************************************* * Author : Samson * Date ...