首页 > 解决方案 > 如何让 Oracle C++ 调用接口 (OCCI) 在 Visual Studio 上工作?

问题描述

我正在学习和使用带有 SQL 的 oracle。我已经使用 OracleSQLDeveloper 创建了一个数据库,现在我正在尝试在一个用 C++ 编写的项目中进行访问。

我一直在搜索,我发现 Oracle 有 Oracle C++ 调用接口 (OCCI),使用它我可以实现我想要的。

我的问题是,有人知道我到底需要做什么才能让 OCCI 在 Visual Studio 上工作?我根本无法让它工作,而且我花了很多时间。

希望有人能帮帮我,谢谢!

PD:对不起我的英语:)

标签: oraclevisual-c++visual-studio-2017oracle-sqldeveloperocci

解决方案


下面是 OCCI 应用程序在 Linux 机器上的编译脚本,它在 Windows 上或多或少相同。

g++ someSourceFiles.cpp -o out -I$INC_DIR -I$ORACLE_HOME/lib -I$ORACLE_HOME/precomp/public -I$ORACLE_HOME/rdbms/public -L$ORACLE_HOME/lib -locci -lclntsh -lnnz12 -lons -lclntshcore

这里 $ORACLE_HOME 是一个环境变量,如果您使用 Windows,则主要设置在 PATH 变量中;如果您使用 Linux,则主要设置在 bash_profile 中。

通常它指向 ORACLE 主目录

下面两点指向存在 OCCI 实现所需的头文件的路径。

-I$ORACLE_HOME/precomp/public 
-I$ORACLE_HOME/rdbms/public 

以下是访问 OCCI 方法所需的动态链接共享库

-locci -lclntsh -lnnz12 -lons -lclntshcore

下面是存在共享库的路径。

-L$ORACLE_HOME/lib

现在您正在尝试在 Visual Studio 上实现这些,您需要在 Visual Studio 的项目设置中配置上述变量以编译它们。

注意:在您的情况下,共享库将是 .dll 形式,因为它是 windows。


推荐阅读