使用 occi 库将 c++ 程序与 Oracle 连接起来

Connecting c++ program with Oracle using occi library

本文关键字:Oracle 连接 起来 程序 occi 库将 c++ 使用      更新时间:2023-10-16

我正在尝试将我的C++程序连接到Oracle数据库(12.1(。

我目前C++程序是(我在Windows中使用mingw64 g++编译器(:

#include <occi.h> 
void oracle_connect()
{
    using namespace oracle::occi;       
    using namespace std;
    Environment *env;              
    Connection *conn;              
    Statement *stmt;               
    env = Environment::createEnvironment (Environment::DEFAULT);
    conn = env->createConnection ("dasdas", "dasdas", "dasdas");
}
int main()
{
    oracle_connect();
}

我使用以下命令编译我的程序:

g++ test.cpp -loci -lociw32 -loraocci12

所有这些库(oraocci12.lib ociw32.lib oci.lib(都来自我的oracle文件夹:Oracle \product\12.1.0\client_1\OCI\lib\MSVC

但是我在编译过程中遇到错误:

undefined reference to `oracle::occi::Environment::createEnvironment(oracle::occi::Environment::Mode, void*, void* (*)(void*, unsigned int), void* (*)(void*, void*, unsigned int), void (*)(void*, void*))'

我应该如何正确链接我的程序以成功编译它?

在我正在处理的项目中,配置如下

#----- Environnement specifique Oracle -----
ORACLEINC    = $(ORACLE_HOME_DEV)/include
ORACLELIB    = $(ORACLE_HOME_DEV)/lib32
ORACLEBIN    = $(ORACLE_HOME_DEV)/bin
ORAINC = -I$(ORACLEINC) -I$(ORACLE_HOME_DEV)/rdbms/demo -I$(ORACLE_HOME_DEV)/precomp/public -I$(ORACLE_HOME_DEV)/plsql/public -I$(ORACLE_HOME_DEV)/network/public
ORALIB = -L$(ORACLELIB) -L$(ORACLE_HOME_DEV)/rdbms/lib -L$(ORACLE_HOME_DEV)/precomp/lib -L$(ORACLE_HOME_DEV)/plsql/lib -L$(ORACLE_HOME_DEV)/network/lib

哪里ORACLE_HOME_DEV --> /exec/products/oracle/v10.2/

您正在寻找的图书馆在这里

libocci.a.10.1 -> /exec/products/oracle/v10.2/lib32/libocci.a