环境:Win7 64位操作系统,64位Oracle数据库,VS2015开发环境
因工作需要,需要使用VC++编写MFC程序,程序使用ADO方式连接数据库,但在实际开发过程中,发现编绎成64位程序可以成功访问数据库,但编译成32位却无法连接数据库,经过不断的尝试,成功解决,把整个解决的方法整理如下,以备查询:
一、导入msado15.dll的不同
x64平台:
import “c:program filescommon filessystemadomsado15.dll” no_namespace rename(“EOF”, “EndOfFile”)
x86平台:
import “c:program files (x86)common filessystemadomsado15.dll” no_namespace rename(“EOF”, “EndOfFile”)
二、连接字符串的不同:
x64平台:
Provider=OraOLEDB.Oracle.1
x86平台:
Provider=MSDAORA.1;
三、需要单独安装32位客户端ODAC
1、下载Oracle Data Access Components(ODAC) Xcopy的两个版本:
2、解压到任意文件夹(临时的,一会可以删掉)
1)、开始->运行->cmd->cd 该文件夹(建议打开cmd直接到cmd.exe目录下以管理员身份运行)
2)、运行命令 install.bat all {目标路径:也就是最后要被安装的目录} odac
例如:install.bat all c:OracleODAC1120320Xcopy_32bit odac 回车
这里写图片描述
3、将其加入到系统环境变量中:(记得要跟实际路径要完全一样) PATH的值中增加: C:OracleODAC1120320Xcopy_32bit;C:OracleODAC1120320Xcopy_32bitin; 该值以实际情况为准。