vs2010下怎么用OCCI?
我已安装oracle11g,64位的win7,vs2010中的配置如下:
包含目录:
D:\app\Administrator\product\11.2.0\dbhome_1\OCI\include;$(IncludePath)
库目录:
D:\app\Administrator\product\11.2.0\dbhome_1\OCI\lib\MSVC\vc10;D:\app\Administrator\product\11.2.0\dbhome_1\OCI\lib\MSVC;$(LibraryPath)
链接器 输入中的 附加依赖项:
oraocci11.lib;oraocci11d.lib;%(AdditionalDependencies)
代码如下:
#include <iostream>
#include <occi.h>
#pragma comment(lib,"oraocci11d.lib")
using namespace std;
using namespace oracle::occi;
int main(){
string username="scott";
string password="tiger";
string connstring="";
oracle::occi::Environment *env=Environment::createEnvironment();//创建一个环境
Connection *conn=env->createConnection(username,password,connstring);//创建一个数据库连接对象
Statement *stmt=conn->createStatement();//创建一个Statement对象
stmt->executeUpdate("create table student (sno number(2),sname varchar2(10))");//创建一张表
conn->terminateStatement(stmt);//终止Statement对象
env->terminateConnection(conn);//断开数据库
oracle::occi::Environment::terminateEnvironment(env);//终止环境
return 0;
}
错误如下:
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(268,5): error MSB6006: “link.exe”已退出,代码为 1120。
1>test1.obj : error LNK2019: 无法解析的外部符号 "public: static void __cdecl oracle::occi::Environment::terminateEnvironment(class oracle::occi::Environment *)" (?terminateEnvironment@Environment@occi@oracle@@SAXPAV123@@Z),该符号在函数 _main 中被引用
1>test1.obj : error LNK2019: 无法解析的外部符号 "public: static class oracle::occi::Environment * __cdecl oracle::occi::Environment::createEnvironment(enum oracle::occi::Environment::Mode,void *,void * (__cdecl*)(void *,unsigned int),void * (__cdecl*)(void *,void *,unsigned int),void (__cdecl*)(void *,void *))" (?createEnvironment@Environment@occi@oracle@@SAPAV123@W4Mode@123@PAXP6APAX1I@ZP6APAX11I@ZP6AX11@Z@Z),该符号在函数 _main 中被引用
1>d:\users\administrator\documents\visual studio 2010\Projects\OCCITest\Debug\OCCITest.exe : fatal error LNK1120: 2 个无法解析的外部命令
请问怎么解决?
------解决方案--------------------D:\app\Administrator\product\11.2.0\dbhome_1\OCI\lib\MSVC\vc10
目录下的oraocci11.lib是不是正确的版本
如果是64位版的必须配置vc编译目标位x64否则无法link