64位主机64位oracle下装32位客户端ODAC(NFPACS版)

时间:2022-10-12 02:48:59

64位主机64位oracle下装32位客户端ODAC(NFPACS版) by dd

1、下载Oracle Data Access Components(ODAC) Xcopy的两个版本:

x86:(我们用到的是这个ODAC1120320Xcopy_32bit)http://www.oracle.com/technetwork/database/windows/downloads/index-101290.html

x64:http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

2、解压到任意文件夹(临时的,一会可以删掉)

2.1 开始->运行->cmd->cd 该文件夹(建议打开cmd直接到cmd.exe目录下以管理员身份运行)

2.2 运行命令 install.bat all {目标路径:也就是最后要被安装的目录} odac

例如:install.bat all c:\Oracle\ODAC1120320Xcopy_32bit odac    回车

3 将其加入到系统环境变量中:(记得要跟实际路径要完全一样)

PATH的值中增加:C:\Oracle\ODAC1120320Xcopy_32bit;C:\Oracle\ODAC1120320Xcopy_32bit\bin;

该值以实际情况为准。

4.设置tnsnames.ora

安装odac之后就意味着32位的程序通过它去连接oracle,而不是安装oracl自带的客户端,所以这时需要在对应的路径下增加network\ADMIN\tnsnames.ora。具体是在ODAC1120320Xcopy_32bit目录下加network\ADMIN\tnsnames.ora和network\ADMIN\sqlnet.ora(sqlnet.net最好加上,无影响)

5.设置字符集。

因为web需要通过该odac连接数据库,此时客户端的字符集不是原来注册表software下的,但是这个客户端的字符集不一定能与数据库服务端的字符一致。直接在高级,环境变量加个字符集就可以解决了。此步骤对步骤6的web和步骤7的PLSQL可用,如果web不行就重启IIS或服务器。

6.IIS中布置的程序需要通过本地访问Oracle,包括使用Oracle.DataAccess以及System.Data.OracleClient访问,可能都需要在运行里运行“IISRESET”重启IIS 或者重新启动计算机后才可使用。

7.设置web.config 连接驱动,打开Web.config——<!--PACS数据库--> ——  name="PACSConnectionString" connectionString="——Provider=MSDAORA.1;

确定Provider=MSDAORA.1,这种情况适合字符集为US7ASCII。

8.由于在本机安装了64位的Oracle,结果试图使用PLSQL Developer去访问它的时候,报告说无法加载oci.dll文件。在以上基础上可以解决这个问题。

在工具->首选项->里面设置Oracle_Home和OCI Library,例如本机设置为:

Oracle Home :C:\Oracle\ODAC1120320Xcopy_32bit

OCI Library :C:\Oracle\ODAC1120320Xcopy_32bit\oci.dll

关于可能遇到的几个问题:

第一个:未在本地计算机上注册“OraleDb.Oracle”提供程序。

网上查了好几种方法,大概如下

1.针对目录给everyone,asp.net 或network service账户添加最大权限。

2.Regsvr32 OraOLEDB11.dll (注册如下)

在安装odac 32位时以上我试了都没用,可以试下这样做:

1.先卸载掉,再重装一次。

2.确保环境变量的路径跟所安装的目录一致。

第二个:为了防止程序不兼容64位系统,将程序池设置我启用32位。依次点击:“角色”—“Internet信息服务(IIS)管理器”—“应用程序池”—“PACSWEB”—右边“高级设置”—“启用32位应用程序:True”确定。