Oracle数据访问组件ODAC的安装方法
Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序。我们可以编程调用这些组件来实现在没有安装Oracle数据库软件的电脑上完成对Oracle数据库的访问。
工具/原料
ODAC安装包
步骤1. 下载ODAC安装包
到Oracle官方网站下载ODAC安装包。在网页上找到你要的版本。我下载的是:
64-bit ODAC 11.2 Release 6 (11.2.0.4.0) Xcopy for Windows x64
下载下来的安装包名为:
ODAC112040Xcopy_64bit.zip
END
步骤2. 解压缩
解压缩这个zip包,把里面的文件都解压到一个文件夹里,我是解压到D:\ODAC112040Xcopy_64bit,然后打开cmd,进入到这个文件夹。
这个文件夹里有8个子文件夹,分别是:
instantclient_11_2:这是Oracle客户端,所有组件的运行都依赖于这个客户端;
oledb:这是OLE DB组件
asp.net:这是ASP.NET2组件
asp.net4:这是ASP.NET4组件
odp.net4:这是.NET4组件
odp.net20:这是.NET2组件
oramts:这是Oracle的MTS服务
network:这个文件夹不用管,它是用来存放tnsnames.ora文件的,要安装后才能用。


这里我们需要搞清楚这些组件之间的依赖关系。
instantclient_11_2是最基础的
oledb依赖于instantclient_11_2
asp.net依赖于instantclient_11_2和odp.net20
asp.net4依赖于instantclient_11_2和odp.net4
odp.net4依赖于instantclient_11_2
odp.net20依赖于instantclient_11_2
oramts依赖于instantclient_11_2
END
步骤3. 安装ODAC包
在cmd中运行install.bat批处理文件:输入"install.bat all D:\OracleClient ODAC"(不含双引号)。这里有几个参数需要特别注意,这里我们传入了三个参数,但最多可以传入四个。

第一个参数:all。all代表安装ODAC112040Xcopy_64bit文件夹下所有的组件和客户端。如果你不需要这么多组件,只用到其中一个,比如只用到了OLE DB组件,就可以像下面这样只安装客户端和这一个OLE DB组件:
install.bat oledb D:\OracleClient ODAC
第二个参数:D:\OracleClient。这是安装路径,根据自己的实际情况指定,路径中尽量不要有空格和圆括号。
第三个参数:ODAC。这个叫ORACLE HOME NAME,这个参数也可以自己随便指定一个字符串,不一定非得是"ODAC"。这个参数是用来写入注册表的。比如,上面这条语句执行后,会在注册表的以下位置写入:
HKLM\Software\Oracle\KEY_ODAC
这"KEY_"后面的ODAC就是你在参数中传入的那个"ODAC"
第四个参数。一般只用前三个参数就够了,在安装组件的时候会自动把它依赖的组件都安装上,但如果你只想安装指定的组件,不想装它所依赖的组件,这时才会用到第四个参数。比如:当你安装asp.net时,如果只用前三个参数,会自动把它所依赖的odp.net20和instantclient_11_2也安装上,但如果你再传入第四个参数"false",如下:
install.bat asp.net D:\OracleClient ODAC false
这时就只会安装asp.net,而不会把odp.net20和instantclient_11_2也装上。
END
步骤4. 设置环境变量
- 1
ORACLE_HOME=D:\OracleClient
(添加一个环境变量ORACLE_HOME,其值为你的安装路径,比如我这里就是D:\OracleClient)
- 2
PATH=%ORACLE_HOME%;%ORACLE_HOME%\bin;
(在PATH环境变量中添加下面两个路径,用分号隔开:
%ORACLE_HOME%;%ORACLE_HOME%\bin;)
END
步骤5. 根据需要配置tnsnames.ora文件
如果要用组件访问Oracle数据库,那么就要根据需要配置tnsnames.ora文件,并存放于%ORACLE_HOME%\network\admin目录下。
我的tnsnames.ora文件格式如下,供参考:
ORA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.26.231)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora)
)
)
END
卸载ODAC的方法
用cmd进入到ODAC的安装路径下,然后运行该路径下的uninstall.bat批处理文件。这里也是要注意参数的运用。
================================================
若要卸载掉所有组件,可以这样:
uninstall.bat all ODAC
或者
uninstall.bat all D:\OracleClient
================================================
若要卸载掉某一个指定的组件,可以这样:
uninstall.bat oledb ODAC
或者
uninstall.bat oledb D:\OracleClient
- 2
手动删除掉安装目录,并把之前添加的环境变量也一并删除即可
END
注意事项
install.bat和uninstall.bat两个批处理文件会在安装目录下分别产生install.log和uninstall.log两个日志文件。
Oracle数据访问组件ODAC的安装方法的更多相关文章
- Oracle数据访问组件ODAC的安装方法:
Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序.我们可以编程调用这些组件来实现在没有安装Oracle数据库 ...
- .NET安装和配置Oracle数据访问组件(ODAC)
Many ASP.NET applications access Oracle database for the data source. Oracle supports the .NET with ...
- 超轻量级高性能ORM数据访问组件Deft,比dapper快20%以上
超轻量级高性能ORM数据访问组件Deft,比dapper快20%以上 阅读目录 Deft简介 Deft 核心类介绍 Deft 3分钟即可上手使用 其他可选的配置参数 性能测试 Demo代码下载 回到顶 ...
- .NET轻量级DBHelpers数据访问组件
一.摘要 一说到ADO.NET大家可能立刻想到的就是增.删.改.查(CRUD)操作,然后再接就想到项目中的SQLHelper.没错本课分享课阿笨给大家带来的是来源于github上开源的DAO数据库访问 ...
- 测试 ClownFish、CYQ、Entity Framework、Moon、MySoft、NHibernate、PDF、XCode数据访问组件性能
下期预告: 由于很多园友反馈,有的组件不应该缺席.测试复杂度不够.测试还缺乏一定的公平. 因此考虑在下一个版本中,确保在更加公平的前提下进行更高复杂度的测试 . 同时将分为2组测试,纯SQL组件及纯O ...
- Agile.Net 组件式开发平台 - 数据访问组件
Agile.DataAccess.dll 文件为系统平台数据访问支持库,基于FluentData扩展重写,提供高效的性能与风格简洁的API,支持多种主流数据库访问. 当前市面上的 ORM 框架,如 E ...
- (转)Delphi7中QuickReport组件(QReport报表)安装方法及重要属性
Delphi7中没有办法直接使用QuickReport组件,因为在Delphi7中没有将QuickReport组件包作为默认组件打包,如果要使用此组件,需要先安装一下. 打开delphi7,点 ...
- 水果项目第2集-建立数据库->编写数据访问基础类->实现类的方法->调试通过
看来写博客对懒人也有好处.监督自己的好处. 今天一打开电脑,就想继续写了. 今天就开始动手做了. 数据库建立,编写访问数据库代码,实现各个类的方法,调试这些方法. 这些基础的代码写完后,就可以写逻辑代 ...
- Microsoft 数据访问组件 (MDAC) 的版本历史记录
http://support.microsoft.com/kb/231943/zh-cn http://support.microsoft.com/kb/301202
随机推荐
- Dom4jUtils.java
package com.vcredit.framework.utils; import org.apache.commons.lang3.StringUtils;import org.dom4j.Do ...
- Css3:选择器、字体和颜色样式
1.私有前缀及其用法 在CSS3模块标准尚未被W3C批准或者标准所提议的特性尚未被浏览器完全实现时,浏览器厂商会使用所谓的私有前缀来测试“试验性的”CSS特性.看看CSS3中实现圆角的代码: .rou ...
- jsp 页面标签 积累
http://www.cnblogs.com/xiadongqing/p/5232592.html <%@ taglib %>引入标签库 ========================= ...
- completionService
我们现在在Java中使用多线程通常不会直接用Thread对象了,而是会用到java.util.concurrent包下的ExecutorService类来初始化一个线程池供我们使用. 当我们使用Exe ...
- 准备上线,切换到master分支,报错
切换到master分支,准备上线,把上次上线sourceTree保存的修改拉出来: 运行,报错了: stackOverflow一搜说要删除旧的: 我show in finder 把他删了,然后双击安装 ...
- Android 操作系统的内存回收机制(转载)
Android 操作系统的内存回收机制(转载) Android APP 的运行环境 Android 是一款基于 Linux 内核,面向移动终端的操作系统.为适应其作为移动平台操作系统的特殊需要,谷歌对 ...
- 贪吃蛇的java代码分析(一)
自我审视 最近自己学习java已经有了一个多月的时间,从一开始对变量常量的概念一无所知,到现在能勉强写几个小程序玩玩,已经有了长足的进步.今天没有去学习,学校里要进行毕业答辩和拍毕业照了,于是请了几天 ...
- PCB上过孔via钻孔的直径如何设置 是任意的吗 谈谈PCB钻孔工艺及规格
PCB上过孔via钻孔的直径如何设置,是不是可以随便填入一个直径尺寸就行了?比如我的走线宽度是6mil,那我的via过孔直径也设置为6mil,节约布线空间岂不是更好?这样的设计板厂是否都能按照设计规格 ...
- dup和dup2用法小结
今天和同学探讨了一下关于重定向输出到文件的问题,其中需要用到dup和dup2函数,因此来小小的总结一下. 首先来man一下: dup直接返回一个新的描述符和原来的描述符一样代表同一个资源,描述符的值就 ...
- iOS10配置说明
1:如果你的App想要访问用户的相机.相册.麦克风.通讯录等等权限,都需要进行相关的配置,不然会直接crash掉. 要想解决这个问题,只需要在info.plist添加NSContactsUsageDe ...