.NET App → Oracle.DataAccess.dll → Oracle Client → SQL*Net → Oracle Database
while (reader.Read()) Console.WriteLine(reader["last_name"]); oracle.dataaccess
tx.Rollback(); throw;
using Oracle.DataAccess.Client; using Oracle.DataAccess.Types; oracle.dataaccess
using (OracleConnection conn = new OracleConnection(connString)) oracle.dataaccess
[ .NET Application ] │ ▼ [ Oracle.DataAccess.dll (Managed Wrapper) ] │ ▼ (P/Invoke) [ Oracle Client / OCI C-Libraries (oraociei.dll, etc.) ] │ ▼ (Oracle Net Protocol / TNS) [ Remote or Local Oracle Database ]