|
本帖最后由 nyfor 于 2014-10-16 13:31 编辑
官方在一个月前又有新版本出来了. 12c Release 3 Beta 2 , 文件大小居然变成了 3.72M
之前的免安装客户端,.NET全托管, 6.22M大小 (版本12c 4.121.1.0))
============================================================================================
开发Oracle数据库应用程序,一直以来部署是一个头疼的事情,需要安装客户端,虽然Oracle也有提供XCopy部署的ODAC客户端,但是文件总体积很大.
现在Oracle已经开发出一个全托管的DLL, 仅一个DLL, 无需安装, 部署极为方便. 发布时只需要该DLL跟在Bin目录下即可.
要求.NET Framework版本为 4.0及以上
官方下载地址:
http://www.oracle.com/technetwor ... tilsoft-087491.html
原来引用 Oracle.DataAccess.dll, 现在改为引用Oracle.ManagedDataAccess.dll,
其中的命名空间由 Oracle.DataAccess.Client改为Oracle.ManagedDataAccess.Client
当使用这个全托管的DLL时, 无需安装部署,无需设置注册表,无需配置环境变量,一切皆可在 app.config(或是web.config) 文件中配置
官方文档配置说明:
http://docs.oracle.com/cd/E48297 ... Config.htm#BABEGGHD
当然不在配置文件中做任何配置也是可以的. 连接字串可以使用 EasyConnect 方式配置.- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using Oracle.ManagedDataAccess.Client;
- using System.Data;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- try
- {
- string constr = "user id=scott;password=tiger;data source=//127.0.0.1/ORCL";
- OracleConnection con = new OracleConnection(constr);
- con.Open();
- OracleCommand cmd = con.CreateCommand();
- cmd.CommandText = "SELECT DEPTNO, DNAME, LOC FROM DEPT";
- IDataReader dr = cmd.ExecuteReader();
- while (dr.Read())
- {
- Console.WriteLine("{0} {1} {2}", dr.GetValue(0),dr.GetValue(1),dr.GetValue(2));
- }
- dr.Close();
- cmd.Dispose();
- con.Dispose();
- Console.ReadLine();
- }
- catch (Exception ex)
- {
- Console.WriteLine("Error : {0}", ex);
- }
- }
- }
- }
复制代码
再补充一下在 app.config/web.config 中配置还需要增加一个配置节- <configSections>
- <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess" />
- </configSections>
复制代码 否则无法识别文档中的配置- <oracle.manageddataaccess.client>
- <version number="*">
- <dataSources>
- ...
- ...
- </dataSources>
- <settings>
- ...
- ...
- </settings>
- <implicitRefCursor>
- ...
- ...
- </implicitRefCursor>
- <edmMappings>
- ...
- ...
- <edmMappings>
- </version>
- <version number="4.112.3.60">
- <dataSources>
- ...
- ...
- </dataSources>
- <settings>
- ...
- ...
- </settings>
- <implicitRefCursor>
- ...
- ...
- </implicitRefCursor>
- <edmMappings>
- ...
- ...
- <edmMappings>
- </version>
- </oracle.manageddataaccess.client>
复制代码 由于我没有使用分布式事务,这里我抽取出下载包中的一个DLL,另外的一个是 DTC(大多用不到分布式事务,就不管他了)
Oracle.ManagedDataAccess.dll.zip
(1.73 MB, 下载次数: 242)
|
评分
-
查看全部评分
|