您的位置:首页 > 其它

ODP.NET开发和部署的相关问题

2011-05-27 11:04 274 查看
ODP.NET是强命名的,编译时使用的Oracle.DataAccess.dll版本必须和运行时的dll完全一致,才能运行;所以通过替换dll兼容不同版本的ODP.NET是不可行的,只能更换引用(reference)重新编译。
ODP.NET和Oracle客户端的版本是严格对应的,版本不匹配,运行时会报错,如ora-12154 。在部署时,要注意这一点。下面是本人测试的一些对应关系 ODP.NET 09 9.2.0.700 -- Oracle Client 9.2.0.1.0 (9i的其他版本未测试)
ODP.NET 10 2.102.2.20 -- Oracle Client 10.2.0.3.0 (10g的其他版本未测试)
ODP.NET 11 2.112.1.0 -- Oracle Client 11.2.0.1.0
ODP.NET 11 2.112.2.0 -- ?? (ODP.NET 2.112.2.0不兼容Oracle Client 11.2.0.1.0) 以上测试均在32位Windows XP中进行 ****
ODP.NET的核心组件有2个:Oracle.DataAccess.dll,OraOps*.dll。
OraOps*.dll在不同版本中的名称: 9i -- OraOps9.dll 10g -- OraOps10w.dll 11g -- OraOps11w.dll

部署时(即运行环境中),如果安装了oracle 客户端但没有安装ODP.NET,只需将Oracle.DataAccess.dll,OraOps*.dll复制到exe文件所在的文件夹,就能运行。 如果不想安装oracle 客户端,参见下面的文章,注意连接字符串(conn string)的写法:

开发和部署的时候,如果碰到问题,先看看这里:

**** 查看Oracle客户端版本号的方法:
C:\Documents and Settings\Administrator>sqlplus /nolog

显示类似下面的内容
SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 9月 7 11:31:33 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL>

查看Oracle服务端版本号的方法:
select * from v$version

****

Oracle客户端9i--11g支持的最低服务端版本:8.1.7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: