Realmente le recomiendo que use ODP.net de Oracle. Funciona de manera muy eficiente entre Oracle y .NET y puede aprovechar muchas de las funciones de bajo nivel (como inserciones/actualizaciones masivas) disponibles a través de Oracle Call Interface (OCI).
A partir de ahí, ODP.net tiene un OracleConnectionStringBuilder
clase que desmitifica las dificultades de la cadena de conexión que tiene con la mayoría de las bases de datos:
OracleConnectionStringBuilder sb = new OracleConnectionStringBuilder();
sb.DataSource = "<your datasource>";
sb.UserID = "library";
sb.Password = "library";
OracleConnection conn = new OracleConnection(sb.ToString());
conn.Open();
Si su base de datos es remota, EZ Connect de Oracle hace que sea agradable no tener que preocuparse por los nombres TNS:
sb.DataSource = "hostname.whatever.com:1521/ServiceName";