Oracle Odp.net驱动程序部署

时间:2013-02-01 01:59:44

标签: oracle odp.net

我们为Oracle安装了32位odp.net驱动程序。我们的服务器当前托管使用已弃用的Microsoft Oracle驱动程序的应用程序。

要在服务器上使用新的odp.net驱动程序,是否会与微软的旧版弃用驱动程序发生冲突?

服务器上需要安装什么? (如何避免与现有Web应用程序冲突?)

2 个答案:

答案 0 :(得分:2)

System.Data.OracleClient以与odp.net相同的方式依赖于非托管Oracle客户端软件:

http://msdn.microsoft.com/en-us/library/2d7h4ycx.aspx

  

适用于Oracle的.NET Framework数据提供程序提供对   Oracle数据库使用Oracle Call Interface(OCI)提供的   Oracle客户端软件。数据提供者的功能是   旨在与.NET Framework数据提供程序类似   适用于SQL Server,OLE DB和ODBC。

安装Oracle客户端时,它会建立一个“oracle_home”(多个oracle家庭都有)并使用各种方法查找相关的依赖项,包括注册表(HKLM / Software / Oracle),。config选项和路径语句。我不确定System.Data.OracleClient使用哪种方法,但我猜它依赖于路径环境变量,就像旧版本的客户端一样。

安装新客户端可能会在路径语句中首先出现。例如,在安装了我的4个客户端的情况下,从命令行“set”命令考虑以下片段:

  

OS = Windows_NT Path = C:\ Program Files \ Common Files \ Microsoft   共享\ Windows Live; C:\ Program Files(x86)\ Common Files \ Microsoft   共享\ Windows Live; C:\ Oracle   \产品\ 11.2.0 \ client_ODT; C:\甲骨文\产品\ 11.2.0 \ client_ODT \ BIN; C:\甲骨文\产品\ 11.2.0 \ client_ODACx64; C:\甲骨文\产品\ 11.2.0 \ client_O   DACx64 \ BIN; C:\甲骨文\产品\ 11.2.0 \的Client_1 \ BIN ; C:\ Windows \ System32下; C:\视窗; C:\ Windows \ System32下\ WBEM; C:\ Windows \ System32下\ WindowsPowerShe   LL \ V1.0 \;的 C:\ ORA6i \ BIN; C:\ ORANT \ BIN ; C:\ Windows \ System32下; C:\ WINDOWS; C:\ Windows \ System32下\ WBEM; C ^ :\ ORA6i \ JDK \ BIN; C:\ WINDOWS \ SYSTEM32; C:\ WINDOWS; C ^   :\ WINDOWS \ SYSTEM32 \ WBEM; C:\ ORA6i \ JDK \ BIN; C:\ ORA6i \ BIN; C:\ ORANT \ BIN; C:\ WINDOWS \ SYSTEM32; C:\ WINDOWS; C:\ WINDOWS \ SYSTEM32 \ WBEM; C:\ ORA6i \ JDK \ BIN;

此时,现有的客户端用户可能会开始使用新安装的客户端。因此,您可能需要在安装之前和之后检查系统以进行这些更改。

在新客户端下运行可能会没问题,但是如果您希望避免触及现有系统。请考虑使用xcopy install。以下是一些有关安装信息的链接: http://www.oracle.com/technetwork/issue-archive/2008/08-nov/o68odpnet-101744.html http://www.brothersincode.com/post/Oracle-ODPnet-xcopy-deployment-for-aspnet.aspx

xcopy安装不会将自身添加到路径语句中,因此不应影响其他安装。新版本的odp.net应该通过注册表解析非托管二进制文件,因此您的新应用程序可能会发现它没有问题。但是,我发现dllPath配置更可靠 - 以下内容将放在您的配置文件中:

<configuration>
  <oracle.dataaccess.client> 
    <add key="DllPath" value="c:\oracle\product\1.1.0-xcopy-dep\BIN"/>
  </oracle.dataaccess.client>
</configuration>

答案 1 :(得分:0)

据我所知,没有冲突。 而且对Oracle来说会更好 - 开发进度比MS解决方案更大。 您可以在此处阅读有关安装过程和要求的所有信息 - &gt; Oracle® Data Provider for .NET