您的位置:首页 > 编程语言 > C语言/C++

VS2010配置Pro*C/C++程序开发环境

2014-07-24 17:15 399 查看
由于一些很特殊的要求,需要在win7下面使用orcale 11g数据库,开发的是一个C/C++的项目。在网上查到资料说:使用Pro*C/C++的方式来使用orcale数据库比较方便。但是网上对应的资料很少,出现了问题基本没有人回答和帮助,所以将自己成功搭建出来的编译环境的过程再此记录下来。

首先,在win7下面安装orcale 11g,vs2010,这类的资料网上比较多,就不详细的介绍了,主要介绍如何在vs2010里面使用proc预编译.pc文件的说明和配置过程以及最后实现的截图。我在使用的是scott用户(密码是dragonwake)来登录orcl数据库的,里面需要创建我们测试用的数据库表和数据,对应的SQL脚本我放在了我的资源文件里面了。使用SQL Plus工具来执行SQL脚本。命令为:@:\d:\sql\create_e_emp.sql和@:\d:\sql\insert_e_emp.sql(我的脚本是放在d:\sql里面的)。

用VS2010创建一个空项目,项目名为ProcDemo,右键ProcDemo项目里面的源文件->添加->新建项,选择txt文档,在项目名填上ProcDemo.pc,点击完成,就可以看到源文件夹里面有了一个ProcDemo.pc的文件。右键ProcDemo.pc,选择属性->常规->项类型->自定义生成工具,点击完成之后。再次右键ProcDemo.pc,选择属性->自定义生成工具->常规,命令行:proc INAME=$(TargetName).pc PARSE=FULL(对应的是.c文件)proc
INAME=$(TargetName).pc PARSE=NONE CODE=CPP(对应的是.cpp文件),输出:$(IntDir)$(TargetName).c(对应的是.c文件)$(IntDir)$(TargetName).cpp(对应的是.cpp文件)。



如果是要生成.c文件,在.pc文件里面填写:

#include <stdio.h>

exec sql include sqlca;

int main()

{

char userpwd[30]="scott/dragonwake";

char var_name[30];

exec sql connect:userpwd;

exec sql select first_name into

:var_name from s_emp where id=1;

printf("var_name:%s\n",var_name);

exec sql commit work release;

getchar();

}

如果要生成.cpp文件,在.pc文件里面填写:

#include <iostream>

using namespace std;

exec sql include sqlca;

int main()

{

exec sql begin declare section;

char userpwd[30]="scott/dragonwake";

char var_name[30];

exec sql end declare section;

exec sql connect:userpwd;

exec sql select first_name into

:var_name from s_emp where id=1;

cout<<"var_name:"<<var_name<<endl;

exec sql commit work release;

getchar();

}

右键ProcDemo.pc文件->编译,如果没有错误,下面会显示生成成功。再次右键源文件->添加->现有项,找到生成的ProcDemo.cpp或者(ProcDemo.c),这样源文件夹里面就有了两个文件了。右键工程->属性,选择C/C++->常规->附加包含目录,添加E:\app\q\product\11.2.0\dbhome_1\precomp\public(orcale的头文件),选择链接器->输入->附加依赖项,添加orasql11.lib;oraxa11.lib;oci.lib;orasqx11.lib;%(AdditionalDependencies),在选择链接器->常规->附加库目录,添加E:\app\q\product\11.2.0\dbhome_1\precomp\LIB;E:\app\q\product\11.2.0\dbhome_1\precomp\LIB\msvc;E:\app\q\product\11.2.0\dbhome_1\OCI\lib\MSVC;E:\app\q\product\11.2.0\dbhome_1\RDBMS\XA;%(AdditionalLibraryDirectories)。

右键工程->生成,如果没有错误,选择调试里面的执行,就可以看到结果了!!!有问题的请联系Q:905568425!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: