.NET 连接 Oracle 的三种常用方案
在 .NET 开发中,连接 Oracle 数据库是常见需求。根据项目环境和版本不同,主要有三种实现路径。下面结合实战经验梳理一下这三种方式的配置要点和注意事项。
方案一:使用 System.Data.OracleClient(已废弃)
这是早期 .NET Framework 自带的驱动。配置相对简单,但强烈不建议在新项目中使用。
- 安装客户端:确保安装了 Oracle Client,找到
tnsnames.ora配置文件。 - 配置 DSN:通过'数据源管理器'添加系统 DSN,选择 Oracle 驱动并填写服务名、用户名和密码。
- 代码示例:
using System.Data.OracleClient;
string connStr = "Data Source=water;User Id=modis;Password=modis;Integrated Security=no";
OracleConnection conn = new OracleConnection(connStr);
conn.Open();
注意:该命名空间在 .NET Core 及新版 .NET Framework 中已被移除,仅适用于旧版环境(如 VS2005 时代)。
方案二:通过 OLE DB 连接
需要安装 Oracle OLE DB Provider。这种方式依赖 Windows 组件,跨平台兼容性较差。
using System.Data.OleDb;
string connStr = "Provider=OraOLEDB.Oracle;Data Source=water;User Id=modis;Password=modis;";
OleDbConnection myConnection = new OleDbConnection(connStr);
myConnection.Open();
方案三:使用 ODP.NET(推荐)
Oracle Data Provider for .NET 是官方提供的专用驱动,功能最全,性能最好,支持 .NET Framework 全生命周期。
- 安装 NuGet 包:建议直接通过 NuGet 安装
Oracle.ManagedDataAccess或Oracle.DataAccess。 - 引用程序集:引入
Oracle.DataAccess.Client。 - 连接代码:
using Oracle.DataAccess.Client;
string connStr = "Data Source=water;User Id=modis;Password=modis;";
OracleConnection conn = new OracleConnection(connStr);
conn.Open();
总结
如果是维护老系统,可能不得不接触前两种方式。但在现代 .NET 开发中,ODP.NET 是唯一推荐的稳定方案。另外,请留意 tnsnames.ora 的配置是否生效,这往往是连接失败的首要原因。

