注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

jiwenxu的博客

CODE

 
 
 

日志

 
 

.net中访问oracle数据库的几种方式  

2008-01-24 15:10:50|  分类: .NET |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

1.ODBC方式
我们可以在"我的电脑->控制面板->(性能和维护->)管理工具->数据源(ODBC)->系统DSN->添加",查看系统中已经安装好的ODBC驱动,其中就包含了“MicrosoftODBC Driver for Oracle”。
连接字符串格式:
Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;
要求:必须安装oracle 7.3版(或更高)的客户端。

2.OLEDB方式
请大家打开注册表编辑器regedit,搜索oracle即可以搜索到以下键:
Microsoft OLE DB Provider for Oracle
HKEY_CLASSES_ROOT\CLSID\{e8cc4cbe-fdff-11d0-b865-00a0c9081c1d}\OLEDB Provider
HKEY_CLASSES_ROOT\MSDAORA
所以,只要你安装了合适版本的MDAC,那么起码就已经可以使用OLEDB来访问ORACLE了。
连接字符串格式:
Provider=msdaora;DataSource=MyOracleDB;User Id=myUsername;Password=myPassword;
要求:必须安装oracle 8i版(或更高)的客户端。

3.System.Data.OracleClient方式
以上2种都是比较通用的方式,我们再来看看M$专门为ORACLE写的类。
请大家打开MSDN2005,输入地址
ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/WD_ADONET/html/054f76b9-1737-43f0-8160-84a00a387217.htm(您也可以通过目录、索引或者搜索来找到)
《Oracle .NET Framework数据提供程序的系统要求》(即System.Data.OracleClient命名空间中的类),摘要如下:
Oracle .NET Framework 数据提供程序需要 Microsoft 数据访问组件(MDAC) 2.6 版或更高版本。建议使用 MDAC 2.8 SP1。
还必须安装 Oracle 8i Release 3 (8.1.7) 客户端或更高版本。
Oracle 9i 版本之前的 Oracle 客户端软件无法访问 UTF16 数据库,因为UTF16 是 Oracle 9i中的一项新功能。要使用此功能,必须将客户端软件升级到 Oracle 9i或更高版本。
哈哈,M$其实没有我们想象中的勤奋,他只是帮ORACLECLIENT做了个包装而已。

4.Oracle Data Provider for.net(ODP.NET)
我们再到ORACLE的老家转转,可以发现他在很多地方都吹嘘ODP.NET,看看它有些什么要求才能用吧。
请大家在浏览器中输入地址(ORACLE的网站有点慢,请不要急)
http://www.oracle.com/technology/tech/windows/odpnet/faq.html#install
Q: What do I need to have installed on my client machine to haveODP.NET work?
A: You will require the following:
Windows 2000, Windows XP Professional, or Windows Server 2003
Microsoft .NET Framework 1.0 or higher
Oracle9i Client Release 2 (9.2) or higher
Oracle Net Services (included with the client)
Oracle Services for Microsoft Transaction Server, Release 2 (9.2)or higher. This is required for applications using distributedtransacations.
简单翻译:
如果你用ODP.NET来访问ORACLE数据库,你需要以下条件:
操作系统:WIN2K XP 2003
.NET FRAMEWORK 1.0以上
ORACLE9I以上的客户端
连接字符串格式:
Data Source=MyOracleDB;UserId=myUsername;Password=myPassword;IntegratedSecurity=no;

5.Core Labs OraDirect (.NET)
www.connectionstrings.com上发现了一个不用安装oracle客户端而直接访问oracle的.net类库,可以免费使用一个月,但是价格比较贵。网址是:http://crlab.com/oranet/,如果有兴趣可以去看看。
连接字符串格式:
User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min PoolSize=0;Max Pool Size=100;ConnectionLifetime=0;
要求:花钱购买类库

6.第3方的观点:
http://www.fawcette.com/vsm/2003_07/magazine/columns/databasedesign/
有一篇文章叫<<Take Advantage of Oracle in .NET>>
讲了如何在可视环境下(也就是用鼠标点、拖等操作)访问ORACLE 。

好了,现在来做个总结

访问方式连接字符串要求
ODBCDriver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;Oracle Client 7.3以上版本
OLEDBProvider=msdaora;DataSource=MyOracleDB;User Id=myUsername;Password=myPassword;Oracle Client 8i以上版本
System.Data.OracleClientProvider=msdaora;DataSource=MyOracleDB;User Id=myUsername;Password=myPassword;

MDAC 2.6
Oracle Client 8i Release 3 (8.1.7) 以上版本

ODP.NETData Source=MyOracleDB;UserId=myUsername;Password=myPassword;IntegratedSecurity=no;Oracle Client 9i以上版本
OraDirect .netUser ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min PoolSize=0;Max Pool Size=100;ConnectionLifetime=0;不需要安装Oracle客户端
必须购买许可证

好了,感谢您坚持看完本文,希望没有浪费您的时间,对您有所帮助。

  评论这张
 
阅读(411)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018