64位win7系统下安装64位oracle11g经验分享

时间:2022-12-29 07:42:56

环境:64bit win 7旗舰版 sp1补丁

         win64 oracle11g ---- win64_11gR1_database_1013.zip

 

 

1、安装过程中出现的一个问题:即系统自检提升系统环境不符合要求

 

 

64位win7系统下安装64位oracle11g经验分享

 

解决办法:

 

首先找到路径:

"E:/Oracle Enterprise_Standard Edition_11.1.0.6/database/stage/prereq/db/refhost.xml“。

在找到”refhost.xml“文件后,如果你没有安装XML软件,就以记事本的方式打开该文件,在打开之后我们找到如下节点:

{

  <!--Microsoft Windows Vista-->
     <OPERATING_SYSTEM>
      <VERSION VALUE="6.0"/>

}

把上述节点替换为以下节点:

{

    <!--Microsoft Windows 7-->
    <OPERATING_SYSTEM>
      <VERSION VALUE="6.1"/>
    </OPERATING_SYSTEM>

}

 

2、安装完成后的访问问题,  PLSQL无法访问本机64位Oracle

问题描述:无法找到oci.dll错误

问题原因:Oracle是64位的,oci.dll自然也是,而PLSQL_Developer是32位的,无法加载64位的DLL。

解决方法:

  • 1. 下载32位Oracle InstantClient,并展开到某目录,例如D:/oracleclient/instantclient_11_2;

 

 

 

 

 

  • 2. 将系统的tnsnames.ora拷贝到该目录下;
  • 3. 在PLSQL Developer中设置Oracle_Home和OCI Library,如下图所示:
  • 4. 在PLSQL Developer目录下编辑如下bat文件,替换其快捷方式,启动PLSQL Developer:

 

@echo off
set path=C:/oracle/instantclient_10_2
set ORACLE_HOME=C:/oracle/instantclient_10_2
set TNS_ADMIN=C:/oracle/instantclient_10_2s
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
start plsqldev.exe

 

64位win7系统下安装64位oracle11g经验分享

 

3、在进行后续的asp.net开发时,在进行数据库访问时,发生错误。

 

为了发布时调用部分32位的DLL,在IIS 应用进程池中配置-常规-启用32位应用程序-True

错误描述:"尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。"

 

解决方法如下: 

 

   实际上,System.Data.OracleClient所指向的是PATH环境变量下的oci.dll。因此,我们只要让程序能够找到64位的oci.dll就可以了。方法如下:

1. 下载instantclient-basic-win-x86-64-11.1.0.6.0.zip,并解压,如C:/instantclient-basic-win-x86-64-11.1。

2. 在系统的环境变量PATH中加入以上路径。

之后重启操作系统,程序会依照PATH路径寻找oci.dll,如果遇到32位的oci.dll会自动略过,找到64位的oci.dll就能连接上数据库了。