VC6下开发OCCI程序的环境配置
初次接触或开发
OCCI
会遇到很多令人头痛的问题,在没有配置好环境参数的情况下,即使直接从
Oracle
关于介绍
OCCI
开发的文档中
Copy
一份完整的程序后,稍加修改,再编译,运行,恐怕也难以顺利如随心愿。当然,网上也有介绍或能找到针对某一错误问题的解决方法,但这些问题却时常能够折磨人好几天。本文由此从环境配置到最后的成功编译运行作一详细展述,以期对读者开发
OCCI
应用程序有一些帮助。
1、 环境
WindowXP+Oracle9i+VC6
。
2、 设定Include files及Library files
打开
VC6
开发环境窗口,点击菜单“工具
->
选项”,如下图示:
图
(1)
弹出选项窗口,点击“目录”选项卡,分别加入如图
(2)
,图
(3)
示目录:
图
(2)
这一步实际上是设置
Oci/Occi
的
include
路径。
图
(3)
这一步实际上
Oci/Occi
的
Library
路径。以上这两步是最基本的路径设置,也就相当于环境变量中的
path
设置这一项。是不是必须配置你自己试试看。
3、 工程设置
打开一个工程,按如下图点击:
图
(4)
选择
C/C++
选项卡,按如下图示加入
WIN32COMMON
,否则会报
error C2995: 'getVector' : template function has already been defined
、
error C2995: 'setVector' : template function has already been defined
错误。这个错误会让人很感郁闷,我是花了半夜的时间才找到了答案。完整的配置如下图示:
图
(5)
选择分类下拉选项中
Code Generation
项,再选择
Use run-time library
下拉选项中
Multithreaded DLL
(推荐选项)或
Debug Multithreaded DLL
。否则程序运行时会报一些
Link
错误(我是在建立连接池的情况下需要配置这个选项。在单连接的情况下,读者朋友自己测试一下)。
选择“连接”选项卡,完成如下图所示配置:
图
(6)
在“对象
/
库模块”中加入
oci.lib oraocci9.lib msvcrt.lib msvcprt.lib
这四个库,否则在
executeQuery()
后检索取得
getString()
时会报错。
4、 配置完成
经历以上配置之后,基本上就可以写一个完整的
OCCI
程序运行了。
5、 说明
本文是笔者亲历了一次又一次种种错误,然后从网上朋友对各类零星问题解答的答案中,参考部分网友的文档,再反复测试后,进行的一次可以借鉴的总结。在此不一一罗列上述这些网友,并致以诚挚的谢意。
me附注: VS2005里项目属性无C/C++节点
1:VS2005里创建一个空项目后,添加已存在的源文件,此时,项目属性里将不会出现“C/C++”节点。
解决方案:在添加已存在的源文件之前,先创建一个无用的.c或者.cpp的文件,此时项目属性里将出现“C/C++”节点,再添加已存在的源文件,无用的.c或者.cpp还不能删除,删除后“C/C++”节点又会消失。