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 ...
随机推荐
- synchronized对象解析
package com.haiyisoft.hyoaPc; public class Test7 { public static void main(String[] args) throws Int ...
- haproxy-负载均衡介绍
参考:http://www.iyunv.com/thread-252539-1-1.html 负载均衡介绍 四层和七层负载均衡的区别 四层 所谓的四层就是ISO参考模型中的第四层.四层负载均衡也称为四 ...
- docker版的zabbix部署
环境准备:一台server端,两台agent端 server端部署zabbix-server和mariadb服务 agent端部署zabbix-agent服务 一.docker容器里下载zabbix和 ...
- mysql8修改密码问题
查看初始密码: grep "temporary password" /var/log/mysqld.log 查看validate_password变量 SHOW VARIABLES ...
- rsync同步脚本
#!/bin/bash export LANG=C date=`date +%Y-%m-%d-%H%M` red=`echo -e "\033[0;31m"` blue=`echo ...
- k8s集群证书过期(kubeadm 1.10.2 )
1.k8s 集群架构描述 kubeadm v1.10.2创建k8s集群. master节点高可用,三节点(10.18.60.3.10.18.60.4.10.18.60.5). LVS实现master三 ...
- iptables基本命令到深入
1.关闭firewalld,安装iptables-server并启动服务 systemctl stop firewalld systemctl disable firewalld yun -y ins ...
- Pandas导入导出&pickle文件模块
Pandas可以读取与存储的文件格式有很多 像csv,excel,json,html等,详细请看官方文档https://pandas.pydata.org/pandas-docs/stable/use ...
- 【miscellaneous】海康相机RTSP连接代码分析
海康相机RTSP连接代码分析 最近在做海康相机rtsp连接获取音视频的工作,现在介绍一下分析过程和源码. [源码在我上传的共享资料中: http://download.csdn.net/detail/ ...
- Flume原理分析与使用案例
1.flume的特点: flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据 ...