oracle - 如何让 Oracle C++ 调用接口 (OCCI) 在 Visual Studio 上工作?
问题描述
我正在学习和使用带有 SQL 的 oracle。我已经使用 OracleSQLDeveloper 创建了一个数据库,现在我正在尝试在一个用 C++ 编写的项目中进行访问。
我一直在搜索,我发现 Oracle 有 Oracle C++ 调用接口 (OCCI),使用它我可以实现我想要的。
我的问题是,有人知道我到底需要做什么才能让 OCCI 在 Visual Studio 上工作?我根本无法让它工作,而且我花了很多时间。
希望有人能帮帮我,谢谢!
PD:对不起我的英语:)
解决方案
下面是 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。