PRO*C/C++在vs2005下的配置
最近由于开发需要用到PRO*C/C++编程,所以学习下PRO*C/C++编程。其实PRO*C/C++编程倒不是很难,不过它的环境配置倒是有些麻烦。闲话少说,vs2005下PRO*C/C++环境配置如下:
(1)加入相关头文件。选择工具-》选项-》项目和解决方案-》VC++目录。加入PRO预编译头文件目录和oci头文件目录,如下图(我的oracle装在d盘,大家可以根据自己oracle安装的目录进行相关的调整):
(2)加入库文件。选择工具-》选项-》项目和解决方案-》VC++目录。加入PRO预编译库文件目录和oci库文件目录,如下图(我的oracle装在d盘,大家可以根据自己oracle安装的目录进行相关的调整):
(3)加入可执行文件目录。由于我编写的PROC程序需要oracle提供proc.EXE进行预编译生成c程序。所以我们需要加入proc.EXE程序所在的目录。如下图(我的oracle装在d盘,大家可以根据自己oracle安装的目录进相关的调整):
(4)环境差不多搭建好了。现在我就编写一个pro*C/C++程序。新建一个win32控制台程序,命名为Test项目,选择空项目。
(5)编写pro程序。代码如下:(大家可以直接复制代码保存为test.pc)
(6)把保存后的test.pc加入Test项目。
(7)新建一个代码文件,命名为test.c。
(8)右键选择test.pc-》属性,弹出test.pc的属性页。选择自定生成步骤,配置如下:
命令行格式:proc 文件名(文件名是你的test.pc,需包含路径信息F:/company/Project/Test/Test/test/test.pc。)
输出是你要生成的c文件名(需带路径信息)。例如我的是:F:/company/Project/Test/Test/test/test.c。
注意点:因为(参见Pro*C/C++ Getting Started 里面说明 Known Problems, Restrictions, and Workarounds 项
the Oracle Pro*C/C++ and Oracle Pro*COBOL precompilers will not precompile files that include spaces in the filename or directory name)路径名和文件名不含空格,所以如果按默认的vs2005(2008)项目路径的话就会出问题。
(9)OK,现在大功告成了,右键test.pc选择编译。如果不出意外的情况下,应该是通过了。
(10)生成当前项目,咦,怎么木有成功啊。不用担心,这是因为我们没有附加相应的库文件。选择项目属性-》连接器-》输入,在附加依赖项里填入:orasql10.lib。
(11)编译后,运行如下
整个过程中应该注意proc需要读取D:/oracle/product/10.2.0/db_1/precomp/admin/下的配置文件pcscfg的设置,具体配置参数意思参见 Pro*C/C++ Getting Started 文件
或者直接用命令行方式:在命令行方式下输入命令C:/Documents and Settings/GMCC>d:/oracle/product/10.2.0/db_1/BIN/proc.exe INAME=d:/demo.pc ONAME=D:/11.c 然后再把11.c文件拷到项目文件下添加进项目编译运行就可以了
还有一种方法是把proc工具集成到vs2008(2005)中,工具--》外部工具—添加-设置参数,具体过程有待于进一步研究