- 论坛徽章:
- 0
|
由于开发oracle连接中间件的需要,要使用到occi。连接时却总是报错。。。
环境:aix53、gcc4.2、oralce10g
编译一个简单的demo时报错
ld: 0711-317 ERROR: Undefined symbol: .oracle:cci::Environment::createEnvironment(oracle:cci::Environment::Mode, void*, void* (*)(void*, unsigned long), void* (*)(void*, void*, unsigned long), void (*)(void*, void*))
ld: 0711-317 ERROR: Undefined symbol: .oracle:cci::Environment::terminateEnvironment(oracle:cci::Environment*)
ld: 0711-317 ERROR: Undefined symbol: typeinfo for oracle:cci::SQLException
collect2: ld returned 8 exit status
考虑可能是occi库装的不全,从oracle官方网站下载了一个instantclient_11_2,解压安装后,引入编译还是同样的问题。。。
#include <iostream>
#include <occi.h>
using namespace std;
using namespace oracle: cci;
int main()
{
Environment *env=Environment::createEnvironment();//初始化occi环境
//用户输入密码,名字,数据库
string name;
string pwd;
string dbname;
cout<<"请输入用户名,密码及数据库连接串";
cin>>name>>pwd>>dbname;
try
{
Connection *conn=env->createConnection(name,pwd,dbname);//创建到oracle的连接
cout<<"您已成功连接数据库!"<<endl;
env->terminateConnection(conn);//关闭连接
}
catch(SQLException e)
{
cout<<e.what()<<endl;//捕获错误
}
Environment::terminateEnvironment(env);//关闭环境
return 0;
} |
|