vc2010通过occi访问oracle出现 error LNK2019 Oracle2010VC 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 出现无法解析的外部符号,一般都是函数只定义,没有函数的实现。安装好了Oracle client之后,如果安装了开发者模式,就会提供oracle的头文件和库文件,建立好工程之后,先在工程名字上面右键Properties->VC++ Directories右边的Include目录和Library两个钟添加上安装目录下的include和lib,我这里是C:\app\Administrator\product\11.2.0\client_1\oci\include和C:\app\Administrator\product\11.2.0\client_1\oci\lib\msvc\vc9,搞定之后。好像,代码中少了一点东西吧 ~~添加如下的几行预处理命令,把lib包含进来,同样的,如果是动态链接库,也可以用#import "path/abc.dll" 来包含进来,代码应该是这样的。测试生成和运行都没有问题,连接不上服务器,服务器不通...#include <iostream>#include <assert.h>using namespace std;#include <occi.h>#include <string>using namespace oracle::occi;#define LINUXOCCI#pragma comment(lib, "C:\\app\\Administrator\\product\\11.2.0\\client_1\\oci\\lib\\msvc\\oci.lib")#pragma comment(lib, "C:\\app\\Administrator\\product\\11.2.0\\client_1\\oci\\lib\\msvc\\ociw32.lib")#pragma comment(lib, "C:\\app\\Administrator\\product\\11.2.0\\client_1\\oci\\lib\\msvc\\oraocci11.lib")int main(){ Environment *env = Environment::createEnvironment(); assert(env != NULL); cout << "success" << endl; string name = "scott"; string pass = "test"; string srvName = "172.18.130.156:1521/test"; try{ Connection *conn = env->createConnection(name, pass, srvName); cout << "conn success" << endl; env->terminateConnection(conn); } catch (SQLException e) { cout << e.what() << endl; return -1; } Environment::terminateEnvironment(env); cout << "end!" << endl; return 0;} 就是这几招了,应该没有其它地方配置了吧。项目属性中C/C++的命令行附加选项,debug配置的附加oraocci10d.lib,release配置的附加oraocci10.lib。链接器的命令行附加选项也这样配置。再重启VS。 请问哪位朋友有metalink的账号?帮忙下个补丁 仓库进出库系统数据库设计 ORA-01013和ORA-21500错误 求sql pl/sql登陆失败问题 “grant create table to 用户” 和 “grant create any table to 用户” 有什么区别 哪位仁兄知道上海电信用的是什么数据库? 关于关联表查询普遍问题,都点难度! 求助!能把一个字段内容分解的函数? count(distinct) group by 用法 windows 2003 32位下开启应用后oracle占用内存不断上升 求教!sql语句执行效率问题。。。。。
安装好了Oracle client之后,如果安装了开发者模式,就会提供oracle的头文件和库文件,
建立好工程之后,先在工程名字上面右键Properties->VC++ Directories右边的Include目录和Library两个钟添加上安装目录下的include和lib,我这里是C:\app\Administrator\product\11.2.0\client_1\oci\include和C:\app\Administrator\product\11.2.0\client_1\oci\lib\msvc\vc9,搞定之后。
好像,代码中少了一点东西吧 ~~
添加如下的几行预处理命令,把lib包含进来,同样的,如果是动态链接库,也可以用#import "path/abc.dll" 来包含进来,代码应该是这样的。
测试生成和运行都没有问题,连接不上服务器,服务器不通...
#include <iostream>
#include <assert.h>
using namespace std;
#include <occi.h>
#include <string>
using namespace oracle::occi;
#define LINUXOCCI
#pragma comment(lib, "C:\\app\\Administrator\\product\\11.2.0\\client_1\\oci\\lib\\msvc\\oci.lib")
#pragma comment(lib, "C:\\app\\Administrator\\product\\11.2.0\\client_1\\oci\\lib\\msvc\\ociw32.lib")
#pragma comment(lib, "C:\\app\\Administrator\\product\\11.2.0\\client_1\\oci\\lib\\msvc\\oraocci11.lib")int main()
{
Environment *env = Environment::createEnvironment();
assert(env != NULL);
cout << "success" << endl; string name = "scott";
string pass = "test";
string srvName = "172.18.130.156:1521/test";
try{
Connection *conn = env->createConnection(name, pass, srvName);
cout << "conn success" << endl;
env->terminateConnection(conn);
} catch (SQLException e) {
cout << e.what() << endl;
return -1;
}
Environment::terminateEnvironment(env);
cout << "end!" << endl;
return 0;
}
就是这几招了,应该没有其它地方配置了吧。
项目属性中C/C++的命令行附加选项,debug配置的附加oraocci10d.lib,release配置的附加oraocci10.lib。链接器的命令行附加选项也这样配置。再重启VS。