oracle无客户端连接数据库(C#)

前提:

1. 不安装oracle的客户端

2. 不需要配置ora文件

3. C# 实现

 

既然是C#实现,当然就要去找oracle的连接库了,主要有三种方式:

1. 微软提供的System.Data.OracleClient已经过时了,不推荐使用了

2. Oracle 的Oracle.DataAccess

3. Oracle 的Oracle.ManagedDataAccess

如果运行环境是.net 3.5的话,就只能选择Oracle.DataAccess了

 

开发:

先去下载ODAC, oracle官方下载需要账号,不想下载的话就点这里 x64 x86

上面那个是ManagedDataAccess,体积比较小,推荐使用

下面那个是DataAcess,体积比较大,需要安装一下ODP.NET,但是不是安装Oracle client 那个巨无霸。

Oracle.Managed.DataAccess 只需要引用Oracle.Managed.DataAccess.dll 这个库即可,不需要其他什么模块了。

Oracle.DataAccess则需要安装下Xcopy的ODP.net4/20。命令行下运行install.bat odp.net2/4 C:\oracle myhome true即可。这样ODP.NET就安装好了。引入Oracle.DataAccess库就OK了。

这里运行时可能会碰到异常,只要将C:\oracle 目录下的oraons.dll拷贝至C:\oracle\bin目录下即可。

如果想做成绿色版,免安装ODP.NET,则收集以下DLL并拷贝至exe目录即可:

OCI.DLL, Oracle.DataAccess.dll, oraociei12.dll, oraons.dll, oraops12.dll,

还另外加一个vc库msvcr***.dll,这就看你的vs版本了。

另外附上ConnectString的写法:

constr = string.Format("Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={2})(PORT={3})))(CONNECT_DATA=(SERVICE_NAME={4})));User Id={0};Password={1}", _userID, _passWord, _dataSource, _port, _serviceName);

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值