Oracle数据访问组件 (ODAC) 全称:Oracle Data Access Components
优点:由于微软在.net framework4中会将System.Data.OracleClient.dll deprecated,而且就访问效率和速度而言,System.Data.OracleClient.dll与Oracle.DataAccess.dll相比,微软的确实没有oracle提供的类库有优势,所以我放弃了使用多年的 System.Data.OracleClient.dll,取而代之的是odp.net。
1. ODAC的安装
服务器端:0racle10g,11g 都行
客户端:Oracle11g,我下载的是ODAC 11.2 Release 5 and Oracle Developer Tools for Visual Studio (11.2.0.3.20),oracle10g的可以安装,但是里面缺少自定义类型的对应对象,且只支持vs2003和vs2005,所以我选择用的是oracle11g的版本ODAC 11.2 Release 5 and Oracle Developer Tools for Visual Studio (11.2.0.3.20),下载地址http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
2.环境变量的设置
(1)新建ORACLE_HOME:ODAC的安装目录(类似~app\Administrator\product\ .1.0\client_1,我这里的安装目录是G:\app\Administrator\product\11.2.0\client_2)
注:本机装Oracle服务端此项为空,否则监听服务无法启动、PLSQL Developer连接异常。
(2)新建LD_LIBRARY_PATH:%ORACLE_HOME% (If Linux)
(3)新建TNS_ADMIN: %ORACLE_HOME%(这里是监听设置,应该是tnsnames.ora的目录,我设置的是G:\oracle\product\10.2.0\db_1\NETWORK\ADMIN,当然也可以将配置好的tnsnames.ora文件拷贝到%ORACLE_HOME%目录下)
(4)在PATH的最前面追加:%ORACLE_HOME%(安装ODAC后自动追加)
(5)如果PLSQL Developer无法连接Oracle,则设置PLSQL Developer的Oracle主目录名:
工具—>首选项
3.vs2010中建立与oracle的连接
在vs的菜单栏中点击视图—>服务器资源管理器,在服务器资源管理器面板中选择数据连接,右键添加连接
点击数据源的更改按钮,在弹出的更改数据源框中选择Oracle数据库,数据提供程序,选择Oracle Date Provider for.NET 。
在数据源名称的下拉列表框中选择数据源名称,这个的名称都是在tnsnames.ora配置好的,输入用户名密码,点击确定即可建立vs与oracle的连接。
最后可以使用这里的工具对oracle数据库进行操作,包括复杂的自定义对象类建立具体操作见《pro odp.net for oracle database11g》第14章ODT.NET Tool Basics
备注:环境变量设置
1.将OracleClient和OracleClient/bin添加到Path环境变量
2.添加TNS_ADMIN环境变量指daotnsnames.ora所在路径