如何在.NET中访问ORACLE数据库?

xrwang 2006-03-23 02:09:15
写这篇文章缘于http://community.csdn.net/Expert/topic/4631/4631305.xml?temp=.6259119一帖,
我在查看ORACLE网站、MSDN2005及注册表之后,小有收获,特写此文,希望对各位有所帮助。
好了,废话结束,现在看正文:

1.ODBC方式
我们可以在"我的电脑->控制面板->(性能和维护->)管理工具->数据源(ODBC)->系统DSN->添加",查看系统中已经安装好的ODBC驱动,其中就包含了“Microsoft ODBC Driver for Oracle”。
所以,如果用ODBC方式来访问ORACLE,可以不用安装ORACLE CLIENT;

2.OLEDB方式
请大家打开注册表编辑器regedit,搜索oracle即可以搜索到以下键:
Microsoft OLE DB Provider for Oracle
HKEY_CLASSES_ROOT\CLSID\{e8cc4cbe-fdff-11d0-b865-00a0c9081c1d}\OLE DB Provider
HKEY_CLASSES_ROOT\MSDAORA
所以,只要你安装了合适版本的MDAC,那么起码就已经可以使用OLEDB来访问ORACLE了。

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$其实没有我们想象中的勤奋,他只是帮ORACLE CLIENT做了个包装而已。

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 have ODP.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 distributed transacations.
简单翻译:
如果你用ODP.NET来访问ORACLE数据库,你需要以下条件:
操作系统:WIN2K XP 2003
.NET FRAMEWORK 1.0以上
ORACLE9I以上的客户端

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

好了,现在来做个总结。
同志们,回顾历史,展望未来,我们要发扬XXXX,高举YYYY(以下省略5000字)......
1.在不安装ORACLE客户端的情况下,可以用ODBC和OLEDB 2种方式来访问ORACLE;
2.如果喜欢多往别人的机器装东西,不怕麻烦,可以用“性能最好”(ORACLE网站这么说的)的ODP.NET来访问ORACLE;
3.如果用System.Data.OracleClient,可以稍微少装点东西,不过比2的帮助文档更多,并且我们似乎都习惯使用微软的东西。
4.推荐使用System.Data.OleDb中的类来访问ORACLE,优点:(1)因为我懒,我不喜欢往别人和我自己的机器里安装过多的东西;(2)可以运行在WIN98以上的系统下,而2 3中的方式只能在WIN2K以上的系统下;(3)ODBC似乎太老了点,看来我是中庸派的人......(哎,老了 -_- )

好了,感谢您坚持看完本文,希望没有浪费您的时间,对您有所帮助。
...全文
391 点赞 收藏 3
写回复
3 条回复
xrwang 2006年03月23日
-_-!!

只能这样了,具体怎么打开连接,怎么用SELECT命令,看MSDN就可以了。
回复 点赞
NCCE_NIE 2006年03月23日
写!!!!
要是再详细一点,有些实例就更好了,对吧!
我也想学ORACLE,请多多指教。
回复 点赞
xrwang 2006年03月23日
晕,写了半天没人看,浪费光阴呀.
早知道不写了.
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告