我在64位标准版本的windows 2003 server上安装了oracle(版本为10.2.0),在客户端(32位XP)上用VC6.0通过OCI访问数据库,但是我在工程中加入了oci.lib后,编译就出现错误:OCI\LIB\MSVC\oci.lib : fatal error LNK1113: invalid machine type,好像是说机器版本不对,在服务器上编译也是出现同样的问题,我的oci.lib是从服务器上的“10.2.0\db_1\OCI\lib\MSVC”目录下拷贝过来的,我也在oracle的网站上下载了各个版本的instantclient,但是所有的版本中都没有oci.lib文件,只有oci.dll文件,请问各位大虾们如何解决这个问题啊???急切盼望!!!
解决方案 »
- SQL行列互换
- logminer为什么分析不出操作,大虾们求助
- 再次提问:高级问题: 每天固定时间触发的触发器如何写
- Error 数��供方内部错误(-3001)
- 请帮忙看一下这个create table 有什么问题?
- oracle与oracle plus是一个东西吗?有什么区别呀。
- oracle9i 中怎样创建用户名和密码?又怎样导入文件?
- 还有一个问题,在linux下,要对oracle9i进行数据备份,一定要启动Intelligent Agent吗?还有其他方式吗?
- 在OMS中使用导出,为什么出现'验证错误',请高手指教
- 急急急!!!我的数据库连接不上
- 设计一个定时事务表
- oracle 条件限制语句
to 楼主:
你的错误,应该是32位x86与64位x86的二进制库冲突造成的。
64位win2003下边装的应该是64bit x86 Oracle,那么它的oci.lib拷到32位windows上编译链接,肯定会出问题。
你应该找一个32位windows下的oracle10.2中的oci.lib,在32位下边编译链接。
至于你说在64位服务器端编译,那更不行,因为什么?因为你用的vc6,vc6到它的deadline时,也没有出现用于64位操作系统上的vc6环境,它只能用于32位环境。除非你用vc7.1或以上。
我们编程,不能光看到IDE,因该直接看到使用的编译器的实质。