32位程序如何使用ADO访问64位Oracle数据库
2017-05-12 22:00
477 查看
环境: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)
http://www.oracle.com/technetwork/cn/database/windows/downloads/utilsoft-087491-zhs.html
x64:
http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
2、解压到任意文件夹(临时的,一会可以删掉)
1)、开始->运行->cmd->cd 该文件夹(建议打开cmd直接到cmd.exe目录下以管理员身份运行)
2)、运行命令 install.bat all {目标路径:也就是最后要被安装的目录} odac
例如:install.bat all c:\Oracle\ODAC1120320Xcopy_32bit odac 回车
3、将其加入到系统环境变量中:(记得要跟实际路径要完全一样)
PATH的值中增加:
C:\Oracle\ODAC1120320Xcopy_32bit;C:\Oracle\ODAC1120320Xcopy_32bit\bin;
该值以实际情况为准。
因工作需要,需要使用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)
http://www.oracle.com/technetwork/cn/database/windows/downloads/utilsoft-087491-zhs.html
x64:
http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
2、解压到任意文件夹(临时的,一会可以删掉)
1)、开始->运行->cmd->cd 该文件夹(建议打开cmd直接到cmd.exe目录下以管理员身份运行)
2)、运行命令 install.bat all {目标路径:也就是最后要被安装的目录} odac
例如:install.bat all c:\Oracle\ODAC1120320Xcopy_32bit odac 回车
3、将其加入到系统环境变量中:(记得要跟实际路径要完全一样)
PATH的值中增加:
C:\Oracle\ODAC1120320Xcopy_32bit;C:\Oracle\ODAC1120320Xcopy_32bit\bin;
该值以实际情况为准。
相关文章推荐
- 32位程序如何使用ADO访问64位Oracle数据库[转]
- 32位和64位C++程序使用ADO访问ORACLE注意事项和区别
- WIN7 64位如何安装虚拟机使用32位程序
- 64位winserver2008环境,ASP.Net程序不能访问Oracle数据库(安装的32位Oracle客户端)
- C++,CLR,C#的DLL和EXE的32位程序,如何在64位系统上使用
- 32位程序访问64位DLL,使用COM组件
- 32位程序如何访问64位的注册表
- 32位程序如何访问64位的注册表
- 使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表
- 使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表
- 64位win7上32位程序访问64位windows 2008 r2上的oracle数据库
- 应对32位程序在64位系统上访问注册表和文件自动转向问题
- 使用VC6.0在32位平台上开发64位程序
- Tip - 注意:32位程序访问64位系统上的Windows注册表
- C# 32位程序访问64位系统注册表
- C程序如何区分是64位系统还是32位系统
- 如何在32位程序中突破地址空间限制使用超过4G的内存
- 【转】32位程序访问64位系统的注册表问题
- 如何移植32位程序到64位系统
- 如何使用 ADO Stream 对象访问和修改 SQL Server BLOB 数据