网上有大量诸如 C#/.Net 连接 Oracle 的几种方式之类的帖子,无非也就是介绍几种驱动,大部分内容还雷同。曾经我只是想上网找一个适合手头上项目访问 Oracle 的方法,结果却迷失在浩瀚如烟的相似帖子中望洋兴叹。随着时间的推移,我逐渐理清了这里面的关系,本文将按我的理解介绍几个常见的 .Net for Oracle 数据库驱动,并重点分析我本人在使用 ODP.NET 中遇到的 3 类问题。
1、.Net for Oracle 常见数据库驱动
数据库驱动是由数据库厂商或第三方数据库驱动开发商为了某种开发语言(如 C#、Java)能够方便的访问某种数据库(如 SQL Server、Oracle)而提供的接口程序。程序代码一般都是通过数据库驱动来访问数据库,其实 .Net 连接 Oracle 的方式也就一种——先选定一个数据库驱动,然后按这个驱动的调用方法来连接数据库。本节将分类逐一介绍 ODBC、OLE DB、ADO.NET、ODAC、ODP.NET、dotConnect for Oracle 共 6 个数据库驱动。
1.1、微软提供的驱动
微软的数据库访问技术由来已久,可选的驱动也比较多。如果数据库用的是 SQL Server,那么微软提供的数据库驱动将是不二选择,但如果用的是 Oracle,情况就相对复杂了,下文会详细说明。
ODBC:即开放数据库互连(Open Database Connectivity),它定义了访问数据库 API 的一个规范,是 Mic

