环境:Win7 64位操作系统,64位Oracle数据库,VS2015开发环境
因工作需要,需要使用VC++编写MFC程序,程序使用ADO方式连接数据库,但在实际开发过程中,发现编绎成64位程序可以成功访问数据库,但编译成32位却无法连接数据库,经过不断的尝试,成功解决,把整个解决的方法整理如下,以备查询:
一、导入msado15.dll的不同
x64平台:
#import “c:\program files\common files\system\ado\msado15.dll” no_namespace rename(“EOF”, “EndOfFile”)
x86平台:
#import “c:\program files (x86)\common files\system\ado\msado15.dll” no_namespace rename(“EOF”, “EndOfFile”)
二、连接字符串的不同:
x64平台:
Provider=OraOLEDB.Oracle.1
x86平台:
Provider=MSDAORA.1;
三、需要单独安装32位客户端ODAC
1、下载Oracle Data Access Components(ODAC) Xcopy的两个版本:
x86平台:(我用到的是这个ODAC112030Xcopy_32bit.zip 51.4 MB)